Я хочу, чтобы иметь возможность воспроизводить звуковой клип в приложении для iPhone OS. Я видел информацию на обоих NSSound, а также AVFoundation как средство для получения звуковых клипов, воспроизводимых на устройстве iPhone OS, но я по-прежнему не понимаю эту тему и могу использовать некоторую помощь. Не нужно указывать это для меня шаг за шагом в фактическом коде, но если кто-то может дать мне подсказку об общем направлении (то есть, какие классы я должен сосредоточить), в которых я должен начать двигаться, я заполню в бланках. Итак, что такое ПРОСТОЙ способ воспроизведения звукового клипа в приложении для iPhone?Что такое ПРОСТОЙ способ воспроизведения звукового клипа в приложении для iPhone?
ответ
Apple, есть статья на эту тему, см: this link
AVAudioPlayer это самый простой способ для воспроизведения звуков любой длины, перекручивание или нет, однако она требует iPhone OS 2.2 или выше. Простой пример:
NSString *soundFilePath =
[[NSBundle mainBundle] pathForResource: @"sound"
ofType: @"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL
error: nil];
[fileURL release];
[newPlayer play];
[newPlayer release];
Он будет воспроизводить практически любой формат файла (AIFF, WAV, MP3, AAC) Имейте в виду, что вы можете играть только один файл MP3/AAC в то время.
Вот самый простой способ я знаю:
Преобразование звуковой файл (CAF использования afconvert инструмент командной строки) и добавить в проект.
CAF подставки для Core Audio Format (я думаю ...)
Посмотрите на SoundEffect.h и .m в образце кода компании Apple. Я считаю, что у Metronome и BubbleLevel есть это.
- Скопировать в свой проект
Написать код, как показано ниже:
SoundEffect *SimpleSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"soundfile" ofType:@"caf"]]; [SimpleSound play]; [SimpleSound release];
Исследование SoundEffect.m, чтобы получить представление о простой обработки звука.
Только что реализовано, отлично работает! Просто нужно использовать Audacity для преобразования wav -> wav, чтобы заставить afconvert работать, никаких других проблем. – JOM
Не уверен в iOS 2.2 и ниже, но вполне возможно воспроизвести несколько mp3-файлов за раз, используя множество экземпляров AVAudioPlayer. – Jonny
освобождение игрока сразу после попытки играть может вызвать проблемы. – Rizon