2016-10-06 81 views
-1

我使用了WritetoFile()方法,因为我的单词数组使用了blockingPlay,但是,当我在文件系统中回放文件thisisatest_pause.wav ,它只会播放数组中的最后一个单词,即“测试”。完整的短语是“这是一个测试”,参数指定暂停。下面是代码写一个文件(WAV)只能说一个单词(最后一个单词)

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\\Justin\\Desktop\\JavaMedia\\thisisatest_pause.wav\\"); 
     } catch (SoundException e){ 
     System.out.println("Error" +e); 

     } 
     } 
    } 
+0

什么类型的对象是'myWordArray [i]'? – selbie

回答

-1

因为通过这些循环来写入相同文件名。

我不知道什么类型的对象myWordArray [i]是,但我的通灵能力告诉我,如果文件已经存在,writeToFile的实现将覆盖该文件。

+0

myWordArray [i]是一个声音对象 – TheDkmariolink

+0

感叹....什么类,什么包等?没关系。您的代码在for循环的每次迭代中覆盖相同的声音文件。 – selbie

+0

myWordArray是一种读取声音中拼接点的静态声音阵列。我不知道如何写这个文件没有覆盖,因为for循环... – TheDkmariolink

相关问题