[英]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.