2014-03-27 272 views
0

我用記錄wav文件下面的代碼:分割音頻文件(WAV)

AudioRecorder recorder; 
recorder.setOutputUrl(<file path...>); 
recorder.record(); 

和播放 this tutorial

當wav文件記錄我要玩它會在我暫停軌道時分割文件。

你能幫我解我的wav文件嗎?

回答

0

播放文件時寫入副本。暫停時,關閉文件並開始寫入新文件,然後通過寫入該文件來繼續寫入。

你的記錄方法似乎非常高的水平。如果使用像

AudioPlayer player; 
player.setInputUrl(...); 
player.play(); 

播放文件您不能以這種方式拆分文件。您需要在回放循環中執行操作才能使其工作。

編輯:

該評論表明你想做實時分割。如果是這樣,將AudioRecorder分爲兩類:

WaveDeviceIn for communication with hardware 
WaveFileOut for file output. 

然後從WaveDeviceIn中讀取,就好像它是一個無盡的文件。在您的I/O循環內,您可以在錄製過程中根據需要創建和銷燬WaveFileOut對象。磁盤I/O可能需要另一個線程,當WaveDeviceIn具有新的數據塊進行傳輸時,該線程會被激活。

+0

不,我無法關閉文件並在播放過程中啓動它。 當我需要拆分文件時,我已經錄製了wav文件。 exm:我有錄音機1.wav文件 我玩這個文件,當我點擊暫停按鈕時,我想分割它。 – Tim

+0

如果AudioRecorder是我認爲的(一個包裝音頻接口的類),則不需要任何刻錄機。改爲使用一些WaveFileWriter:構造函數設置標題道具。 Dtor在標題中標記文件大小並關閉文件。 – user877329