AudioFileWriteBytes возвращает ошибку -50 случайным образом - PullRequest
0 голосов
/ 24 июня 2010

У меня есть следующий фрагмент кода:

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

Код состояния случайным образом возвращает noErr и -50 на симуляторе iPhone.

Затем он работает, если я перезапущу его.

Приветствуется любой указатель, почему приведенный выше код ведет себя случайным образом.

Заранее благодарим за помощь.

1 Ответ

1 голос
/ 30 июня 2010

Кажется, я нашел свою проблему.

Оригинальный код с проблемой:

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

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

Новый код, который устранил проблему.Обратите внимание, что «createFile» сначала вызывается перед вызовом AudioOutputUnitStart

    // 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, теперь аудиосэмплы записываются в файл без ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...