Воспроизведение аудио файла и пауза в разное время на iOS - PullRequest
3 голосов
/ 30 сентября 2011

Скажите, что у меня есть аудиофайл и коллекция временной информации о конкретных сегментах этого аудиофайла, а именно их startTime и endTime.То, что я хотел бы сделать, это воспроизвести аудиофайл последовательно, начиная с начала и перемещая сегмент за сегментом по файлу.

Итак, например, скажем, у меня есть данные, подобные следующим:

Сегмент 1 - время начала: 1,0 с, конечное время: 3,4 с Сегмент 2 - время начала: 3,4 с, конечное время: 5,0 с Сегмент 3 - время начала: 7,8 с, конечное время: 9,5 с ...

Я хочувоспроизводить аудиофайл последовательно, сегмент за сегментом.Он запустит 1.0 с в файл, воспроизведет до 3.4 с, затем остановится и подождет, пока пользователь нажмет кнопку.Как только пользователь нажмет кнопку, он будет воспроизводиться от 3,4 с до 5 с, затем от 7,8 до 9,5 с и т. Д.

У пользователя также будет возможность «вычистить» звук (ноне в промежутках между сегментами), поэтому, хотя я играю последовательно, существует возможность возврата к предыдущему сегменту, и в этом случае этот процесс повторится (т. е. если пользователь выполняет переход к предыдущему или более позднему сегменту, он будетпауза, когда он достигает конца этого отрезка).

Как лучше всего достичь этой цели?Кажется, что я могу использовать AVAudioPlayer, но я не вижу способа приостановить его точно в endTime, кроме повторного опроса currentTime.AVPlayer и AVPlayerItem выглядят как другая возможность, но если я понимаю документацию, есть только один элемент проигрывателя за раз ... поэтому я предполагаю, что мне потребуется обработать замену AVPlayerItems, чтобы заставить работать функцию очистки.

Есть ли какие-либо предложения о том, как лучше всего достичь этой цели?

1 Ответ

0 голосов
/ 30 сентября 2011

В верхней части моей головы, либо разбейте файл на отдельные сегменты и воспроизведите их в нужное время, либо приостановите их, используя функцию AVAudioPlayer [(имя вашего аудиоплеера) pause];затем возобновите воспроизведение, когда внутри кнопки загорается кнопка [play (название нашего аудиоплеера) play];

...