如何用iPhone非官方SDK播放声音

用下面一小段代码即可播放声音。

1. av = [[AVController alloc] init];
2. item = [[AVItem alloc] initWithPath:[[NSBundle mainBundle] pathForResource :@"silent" ofType:@"mp3"] error:&error];
3. [av setCurrentItem:item preservingRate:NO];
4. BOOL ok = [av play:nil];

编译时需要加入 -framework Celestial 参数

上面的方法和ipod 有冲突,这里有一个更简单的方法,不影响ipod的播放。
GSEventPlaySoundAtPath(@”/path/to/a/sound.aif”)

编译时加入-framework GraphicsServices.framework
相关的还有:
GSEventPlayAlertOrSystemSoundAtPath
GSEventPlaySoundLoopAtPath
GSEventPrimeSoundAtPath
GSEventStopSoundAtPath

用AVController可以播放基本所有ipod支持的音频格式:mp3, m4a, m4r等。不过会停止掉ipod。用GSEventPlaySoundAtPath只能播放aiff格式。
通常可以用avcontroller播放背景音乐,用GSEventPlaySoundAtPath播放音效(因为aiff文件比较大,如果做成背景音乐,文件尺寸比较可怕,所以背景音乐最好还是用m4a或者mp3)。


返回:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License