在AVAudioPlayer上播放用AVAudioRecorder录制的文件

时间:2011-10-27 23:17:47

标签: objective-c avaudioplayer avaudiorecorder

现在我正在尝试播放首先使用AVAudioRecorder录制的.wav文件,然后使用AVAudioPlayer播放此声音。这看起来很简单,但我希望AVAudioRecorder PAUSED,而不是停止。这就是问题所在,由于某种原因AVAudioPlayer拒绝播放在录音机中打开的文件。所以这有效:

recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
[recorder record];

*record for some time*

[recorder stop];

player = [[AVAudioPlayer alloc] initWithContentsOfURL:[self copySoundFileURL] error:nil];
[player play];

但是当我这样称呼它时,我希望它能够正常工作:

recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
[recorder record];

*record for some time*

[recorder pause];

player = [[AVAudioPlayer alloc] initWithContentsOfURL:[self copySoundFileURL] error:nil];
[player play];

(这些是当然的例子)

基本上我的问题是,如果有人知道如何做其中任何一种方法:

  1. 播放录音机中打开的文件。
  2. 停止录音机,播放文件,然后在同一档案上继续录音(不丢失以前录制的内容)。
  3. 欢迎任何信息/想法!

1 个答案:

答案 0 :(得分:1)

我能找到修复此问题的唯一方法是合并2个wav文件。有关此问题的更多信息,请参阅我的另一个问题:NSURL returns Invalid Summary when merging WAV files。这不是100%正确(因此问题),但对于想要了解此信息的人来说,这是一个开始。