2014-03-27 269 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