Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 1.3音乐播放器-如何停止播放中断_Java_Audio - Fatal编程技术网

Java 1.3音乐播放器-如何停止播放中断

Java 1.3音乐播放器-如何停止播放中断,java,audio,Java,Audio,嗨,我正在尝试编辑此代码,但不知道从哪里开始。我不是程序员,这是我试图修改的一个遗留游戏的公共源代码。你能至少建议一下我需要查看的区域,这样我就可以阅读了吗?我想要实现的是: 当前情况: 当从文件夹(由PATH或RAND指定)播放音乐,然后输入FILE命令以指定要播放的另一个声音文件时,play立即切换到新的声音文件,但随后继续循环播放该声音文件 理想情况: 文件命令切换到播放一次的新声音文件,然后路径重置为文件命令之前的路径,即恢复原始音乐 我有一个文件夹,里面有很多我想像广播电台一样播放的音

嗨,我正在尝试编辑此代码,但不知道从哪里开始。我不是程序员,这是我试图修改的一个遗留游戏的公共源代码。你能至少建议一下我需要查看的区域,这样我就可以阅读了吗?我想要实现的是:

当前情况:

当从文件夹(由PATH或RAND指定)播放音乐,然后输入FILE命令以指定要播放的另一个声音文件时,play立即切换到新的声音文件,但随后继续循环播放该声音文件

理想情况:

文件命令切换到播放一次的新声音文件,然后路径重置为文件命令之前的路径,即恢复原始音乐

我有一个文件夹,里面有很多我想像广播电台一样播放的音乐,但当某个事件发生时,我想播放另一个声音文件,然后再回到广播电台

这是用Java1.3编写的,解决方案需要使用jdk1.3.120进行编译。如果你需要更多信息,请告诉我

即使只是暗示这是不可能或困难的,也会很好。提前谢谢

public class CmdMusic extends Cmd { static class PlayInfo { public String objName; public boolean isPath; public String list[]; public PlayInfo(String s, boolean flag) { objName = s; isPath = flag; list = null; } public PlayInfo(String as[]) { objName = null; isPath = false; list = as; } } static class WFileFilter implements FileFilter { public boolean accept(File file) { if(!file.isFile() || file.isHidden()) return false; String s = file.getName(); if(s == null) return false; int i = s.length(); if(i faderIncr) { fader -= faderIncr; prevMusic.setVolume(fader); } else { prevMusic.cancel(); prevMusic.release(); prevMusic = null; } if(list != null) { if(curMusic != null && !curMusic.isPlaying() && playState()) { curMusic.cancel(); curMusic.release(); curMusic = null; } if(curMusic == null && playState()) { index++; if(index >= list.length) index = 0; fileName = null; setFile(list[index], true); } } } public static boolean isPathEnabled(String s) { byte byte0 = -1; if(s == null) return true; if(s.compareToIgnoreCase("music/takeoff") == 0) byte0 = 0; else if(s.compareToIgnoreCase("music/inflight") == 0) byte0 = 1; else if(s.compareToIgnoreCase("music/crash") == 0) byte0 = 2; else return true; SoundFlags soundflags = (SoundFlags)CfgTools.get("MusState"); if(soundflags == null) return false; else return soundflags.get(byte0); } public static void setPath(String s, boolean flag) { if(s == null) return; if(flag && pathRandName != null && s.compareToIgnoreCase(pathRandName) == 0) return; File file = new File("./samples/" + s); File afile[] = file.listFiles(new WFileFilter()); if(afile == null || afile.length 1.0F) System.out.println("ERROR: value must be between 0.0 - 1.0"); else setVolume(f); } } } return CmdEnv.RETURN_OK; } private static final boolean _debug = false; protected static SoundFX musFX = null; protected static String fileName = null; protected static String pathRandName = null; protected static float vol = 1.0F; protected static Random rnd = new Random(); protected static Stack stack = new Stack(); protected static boolean bPlay = false; protected static boolean bPlaying = false; protected static boolean bList = false; public static final String PATH = "PATH"; public static final String RAND = "RAND"; public static final String FILE = "FILE"; public static final String LIST = "LIST"; public static final String PLAY = "PLAY"; public static final String STOP = "STOP"; public static final String BREAK = "BREAK"; public static final String VOL = "VOL"; public static final String PUSH = "PUSH"; public static final String POP = "POP"; public static final String APPLY = "APPLY"; private static AudioStream prevMusic = null; private static AudioStream curMusic = null; private static float faderIncr = 0.02F; private static float fader = 1.0F; private static String list[] = null; private static int index = 0; } 公共类Cmd扩展Cmd { 静态类PlayInfo { 公共字符串objName; 公共路径; 公共字符串列表[]; 公共播放信息(字符串s,布尔标志) { objName=s; isPath=标志; 列表=空; } 公共播放信息(字符串为[]) { objName=null; isPath=false; 列表=as; } } 静态类WFileFilter 实现文件过滤器 { 公共布尔接受(文件) { 如果(!file.isFile()| | file.ishiden()) 返回false; 字符串s=file.getName(); 如果(s==null) 返回false; int i=s.长度(); 如果(i faderIncr) { 音量控制器-=音量控制器; 设置音量(音量控制器); }否则 { prevMusic.cancel(); prevMusic.release(); prevMusic=null; } 如果(列表!=null) { if(curMusic!=null&&!curMusic.isPlaying()&&playState()) { curMusic.cancel(); curMusic.release(); curMusic=null; } 如果(curMusic==null&&playState()) { 索引++; 如果(索引>=列表长度) 指数=0; fileName=null; setFile(list[index],true); } } } 公共静态布尔值已设置为可选(字符串s) { 字节字节0=-1; 如果(s==null) 返回true; 如果(s.compareToIgnoreCase(“音乐/起飞”)==0) 字节0=0; 其他的 如果(s.compareToIgnoreCase(“音乐/飞行”)==0) 字节0=1; 其他的 如果(s.compareToIgnoreCase(“音乐/崩溃”)==0) 字节0=2; 其他的 返回true; SoundFlags SoundFlags=(SoundFlags)CfgTools.get(“mustState”); if(soundflags==null) 返回false; 其他的 返回soundflags.get(字节0); } 公共静态void setPath(字符串s,布尔标志) { 如果(s==null) 返回; if(flag&&pathRandName!=null&&s.compareToIgnoreCase(pathRandName)==0) 返回; 文件文件=新文件(“./samples/”+s); File afile[]=File.listFiles(新的WFileFilter()); if(afile==null | | afile.length 1.0F) System.out.println(“错误:值必须介于0.0到1.0之间”); 其他的 设定体积(f); } } } return CmdEnv.return\u确定; } 私有静态最终布尔值_debug=false; 受保护的静态SoundFX musFX=null; 受保护的静态字符串文件名=null; 受保护的静态字符串pathRandName=null; 受保护静态浮子体积=1.0F; 受保护的静态随机rnd=新随机(); 受保护的静态堆栈=新堆栈(); 受保护的静态布尔bPlay=false; 受保护的静态布尔值bPlaying=false; 受保护的静态布尔bList=false; 公共静态最终字符串PATH=“PATH”; 公共静态最终字符串RAND=“RAND”; 公共静态最终字符串FILE=“FILE”; 公共静态最终字符串LIST=“LIST”; 公共静态最终字符串播放=“播放”; 公共静态最终字符串STOP=“STOP”; 公共静态最终字符串BREAK=“BREAK”; 公共静态最终字符串VOL=“VOL”; 公共静态最终字符串PUSH=“PUSH”; 公共静态最终字符串POP=“POP”; 公共静态最终字符串APPLY=“APPLY”; 私有静态音频流prevMusic=null; 私有静态音频流curMusic=null; 专用静态浮子faderIncr=0.02F; 专用静态浮动音量控制器=1.0F; 私有静态字符串列表[]=null; 私有静态int索引=0; }
如果您试图编译此文件,会出现什么错误?请在问题中包含错误的完整文本。您好,编译时没有错误,这是工作代码。我问的是如何改变它来实现我上面所描述的。谢谢你写道:“不会用新版本编译”。你的意思是说你不想用更新的版本编译它吗?对不起,是的,解决方案只需要能够用jdk1.3.1_20编译。我提到,如果它影响到提议的解决方案。我已修正这项质询。谢谢