Воспроизведение файла, записанного с помощью AVAudioRecorder на AVAudioPlayer - PullRequest
0 голосов
/ 28 октября 2011

Сейчас я пытаюсь воспроизвести файл .wav, который сначала записывается с AVAudioRecorder, а затем воспроизводить этот звук с AVAudioPlayer. Это кажется достаточно простым, но я хочу, чтобы AVAudioRecorder приостановлено, а не остановлено. Это проблема, по какой-то причине 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. Остановите рекордер, воспроизведите файл, а затем возобновите запись в том же файле (без потери ранее записанного материала).

Любая информация / мысли приветствуются!

1 Ответ

1 голос
/ 17 декабря 2011

Единственный способ исправить это - объединить 2 wav-файла. Более подробная информация об этом содержится в другом из моих вопросов: NSURL возвращает неверное резюме при объединении файлов WAV . Это не на 100% правильно (отсюда и вопрос), но это начало для людей, которым нужна информация об этом.

...