我目前正在开展一个项目,要求我使用参数暂停。然后将新声音写入文件,但每次播放我的新文件时,只播放最后一个单词。任何帮助将不胜感激。
public void play(int pause, String filename, String path) throws InterruptedException {
// play the words in order
for (int i = 0; i < numWords; i++) {
myWordArray[i].blockingPlay();
Thread.sleep(pause);
try {
myWordArray[i].writeToFile("C:\\Users\\Taylor\\Desktop\\JavaMedia\\thisisatest_pause.wav\\");
} catch (SoundException e){
System.out.println("Error" +e);
}
}
}
答案 0 :(得分:0)
你的问题在这里:
myWordArray[i].writeToFile("C:\\Users\\Taylor\\Desktop\\JavaMedia\\thisisatest_pause.wav");
你看,你正在迭代一个WAV(?)对象列表;然后你将所有这些不同的对象写入相同的文件。可能会覆盖之前写的内容!
解决这个问题的一种简单方法:在创建的文件名中包含索引 i ,例如使用
结束事物"...pause-" + i + ".wav"
代替。