Использование зяблика в первый раз. Как воспроизводить mp3, ogg или другие форматы (wav файлы на большие)? - PullRequest
1 голос
/ 05 июня 2010

Моя * .wav работает как положено. Но wav-файлы слишком большие, поэтому я хочу воспроизвести * .mp3 или * .ogg, но это не работает.

Я использую эти строки кода, найденные в демо-проекте finch

engine = [[Finch alloc] init];
sitar = [[Sound alloc] initWithFile:RSRC(@"sitar.wav")];
[sitar play];

Так что я меняю sitar.wav только на свое имя .mp3.

Примечание 1: Это не должен быть mp3 или ogg, любой формат файла не такой большой, как wav, должен быть в порядке, но какой?

Примечание 2: Я не знал, как использовать звук, поэтому я искал и нашел зяблика здесь в stackoverflow. Это выглядит легко, поэтому я хотел бы использовать это, но если вы знаете какой-то другой простой способ воспроизведения этих звуковых файлов (ambient + эффекты со сжатым кодеком), я бы также переключился на эту другую технику.

1 Ответ

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

К сожалению, Finch не поддерживает воспроизведение сжатого звука (пока?). Система декодирования подготовлена ​​для декодирования сжатого звука (см., Например, PCM-декодер , как написать декодер), но в настоящее время нет декодера для OGG, MP3 или чего-либо подобного. Также обратите внимание, что если / когда появится поддержка сжатого звука, сжатые семплы будут полностью распакованы в память перед воспроизведением, так что вы все равно не сможете воспроизводить очень длинные звуки (потому что они будут не вписывается в память).

Finch предназначен только для воспроизведения коротких сэмплов с низкой задержкой. Если вы хотите воспроизвести более длинную сжатую фоновую дорожку, просто используйте AVAudioPlayer .

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