Плавное воспроизведение mp3-файла при перетаскивании прокрутки с помощью AVToolbox или openAL

Я сталкиваюсь с этим уже столько дней, но я так и не пришел к какому-либо выводу.

Моя проблема: я хочу воспроизвести mp3-файл, но не просто нажав кнопку воспроизведения.

Я хочу сыграть именно так.

* Есть ползунок, который я могу перетаскивать пальцем, я хочу, чтобы mp3 воспроизводился с той частотой, с которой я перетаскиваю палец (или скоростью, с которой я перетаскиваю палец, чтобы он дает эффект быстрой перемотки вперед (смешной голос)) или если я медленно перетаскиваю ползунок, вывод будет медленным *

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

Пожалуйста помоги. Любые предложения, пожалуйста. В настоящее время я использую AVAudioPlayer и передаю значение времени на основе ввода ползунка для воспроизведения файла. (Хотя это не представляется возможным). Я чувствую, что можно использовать только openAL и никак иначе. Поскольку с помощью openAL мы можем изменять частоту звукового файла (высоту тона)

МОЖНО СКАЗАТЬ МНЕ СКАЗАТЬ ССЫЛКУ НА открытую реализацию для iPhone. Я никогда не воспроизводил звуковой файл с помощью openAL

Помощь!!


person Rahul    schedule 17.03.2011    source источник


Ответы (1)


Вы не сможете сделать это с помощью AVAudioPlayer, так как он не поддерживает операции с высотой тона.

Вы можете загрузить и декодировать всю дорожку в память для воспроизведения с помощью OpenAL (который поддерживает высоту тона), или вы можете выполнять загрузку / декодирование в реальном времени и изменение высоты звука с помощью Audio Units (НАМНОГО более низкого уровня и более сложного).

person Karl    schedule 17.03.2011
comment
в порядке. Не могли бы вы дать мне ссылку на реализацию openAL для iPhone. Я никогда не реализовывал воспроизведение звукового файла с помощью openAL. Что я узнал после исследования. * Мне нужно будет изменить высоту звука файла, который я собираюсь воспроизвести (в зависимости от скорости, с которой я перемещаю ползунок), в этом случае это будет немного сложно, так как я вижу, это означает, что мне нужно динамически изменять скорость обработки звуковых данных. * помощь!! - person Rahul; 18.03.2011
comment
Я написал библиотеку-оболочку OpenAL, чтобы упростить аудио на iOS. Попробуйте. github.com/kstenerud/ObjectAL-for-iPhone - person Karl; 18.03.2011
comment
Спасибо миллион раз. Это мне очень помогло, и теперь я могу использовать этот исходный код как хочу. Люблю тебя, Карл;) - person Rahul; 24.03.2011
comment
(bool) preloadUrl: (NSURL *) url seekTime: (NSTimeInterval) seekTime; - person Rahul; 24.03.2011