AudioFileWriteBytes随机返回错误-50

时间:2010-06-23 21:04:57

标签: iphone audio

我有以下代码段:

    OSStatus status = AudioFileWriteBytes(self.audioFile, FALSE, self.startingByte, &ioNumBytes, theData);

状态代码在iPhone模拟器上随机返回noErr和-50。

如果我重新运行它就可以了。

任何指针都会被理解,为什么上面的代码会随机出现。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我想我发现了自己的问题。

带问题的原始代码:

// Start
OSStatus status = AudioOutputUnitStart(self.ioUnit);

// Record the audio samples and save it to a file
[self createFile];

修复问题的新代码。请注意,在调用AudioOutputUnitStart

之前首先调用“createFile”
    // Record the audio samples and save it to a file
[self createFile];

// Start
// Once AudioOutputUnitStart is called, it will start calling callback method quickly. We need to call the above [self createFile] first.
OSStatus status = AudioOutputUnitStart(self.ioUnit);

AudioOutputUnitStart调用回调方法,该方法将音频样本写入文件。由于文件是在AudioOutputUnitStart之前创建/打开的,现在音频样本被写入文件而没有任何错误。

相关问题