繁体   English   中英

使用JMF停止Java中的音乐

[英]Stopping music in java, using JMF

所以我得到了这段代码,为RPG游戏播放音乐。 第一种方法播放战斗音乐,另一种方法则是在获胜时大张旗鼓。 我的问题是音乐叠加在一起,最后播放了上千种不同的战斗音乐和歌迷。 当战斗结束并且应该大张旗鼓演奏时,如何停止音乐播放,反之亦然?

这是代码:

import java.io.File;

import javax.media.Format;

import javax.media.Manager;

import javax.media.MediaLocator;

import javax.media.Player;

import javax.media.PlugInManager;

import javax.media.format.AudioFormat;


public class PlayMusic {

    public void playBattle() {

        try{
            Player player = Manager.createPlayer(new MediaLocator(new File("battle.wav").toURI().toURL()));
            player.start();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }

    public void playWin() {     


        try{
            Player player = Manager.createPlayer(new MediaLocator(new File("fanfare.wav").toURI().toURL()));
            player.start();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }

}
import java.io.File;

import javax.media.Format;

import javax.media.Manager;

import javax.media.MediaLocator;

import javax.media.Player;

import javax.media.PlugInManager;

import javax.media.format.AudioFormat;


public class PlayMusic {

 Player battlePlayer = Manager.createPlayer(new MediaLocator(new File("battle.wav").toURI().toURL()));
  Player winPlayer = Manager.createPlayer(new MediaLocator(new File("fanfare.wav").toURI().toURL()));


    public void playBattle() {

        try{

            battlePlayer.start();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }

    public void playWin() {     


        try{

            winPlayer.start();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }

 public void stopWin() {     


        try{

            winPlayer.stop();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }

 public void stopBattle() {     


        try{

            battlePlayer.stop();
        }
        catch(Exception ex){
            ex.printStackTrace();
        }
    }


}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM