NSSound на iphone - PullRequest
       16

NSSound на iphone

4 голосов
/ 23 декабря 2008

Я долго искал, как воспроизвести звук на iphone, и я думаю, что это что-то вроде:

[[NSSound soundNamed:@"cat.mp3"] play];

Но NSSound есть в AppKit ... есть предложения? Я знаю, что есть действительно простой ответ на этот вопрос, но сегодня мои поиски не дают никакого результата ...

Ответы [ 2 ]

10 голосов
/ 23 декабря 2008

новый класс AVFoundation - это самый простой способ воспроизведения звука на iPhone, хотя он предназначен только для прошивки 2.2:

AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];  
[audioPlayer play]; 

вам нужен этот импорт в классе, который его использует:

#import <AVFoundation/AVAudioPlayer.h>
7 голосов
/ 23 декабря 2008

Системные звуки Audio Toolbox отлично подходят для короткого асинхронного воспроизведения.

// Initialize
CFBundleRef mainBundle;
mainBundle = CFBundleGetMainBundle ();

// Init each sound
CFURLRef      tapURL;
SystemSoundID tapSound;
tapURL = CFBundleCopyResourceURL(mainBundle, CFSTR("tap"), CFSTR("aif"), NULL);
AudioServicesCreateSystemSoundID(tapURL, &tapSound);

// Play the sound async
AudioServicesPlaySystemSound(tapSound);

Я не получил MP3 для работы с AudioServicesPlaySystemSound. Но он прекрасно воспроизводит файлы AIF.

...