播放声音不适用于iPhone
问题描述:
我已将声音添加到我的应用程序。 在我的.h我已经添加:播放声音不适用于iPhone
CFURLRef soundFileURL;
SystemSoundID soundFile;
在我viewDidLoad中在我的.m:
soundFileURL = CFBundleCopyResourceURL(
CFBundleGetMainBundle(),
CFSTR("sound"),
CFSTR("mp3"),
NULL);
AudioServicesCreateSystemSoundID(
soundFileURL,
&soundFile);
,最后我添加了一个-playSound方法:
-(void)playSound {
NSLog(@"playSound");
AudioServicesPlayAlertSound(soundFile); }
它可以在iPhone模拟器上正常工作,但是当我在iPhone上构建应用程序时,控制台会声音发出,但事实并非如此。 我看过很多其他人也有这个问题,但我没有找到任何解决方案。
怎么了?
答
这可能是您的编码 - 在模拟器上的音频编解码器是不是由您的实际iPhone的硬件所提供的那些非常不同。尝试重新编码。
另外 - 你不想使用一个声音的MP3,你想使用非压缩文件格式(我建议aiff从经验),因为没有专门的解码硬件来支持你的声音解码正在努力去做。 (有播放音乐,推荐使用mp3)
答
我有类似的问题。原来我是参考“Horn.caf”与
NSURL *hornSound = [[NSBundle mainBundle] URLForResource: @"horn"
withExtension: @"caf"];
注意大小写的差异;我的OS X Lion安装在不区分大小写的文件系统上。 将代码更改为以下解决了问题。
NSURL *hornSound = [[NSBundle mainBundle] URLForResource: @"Horn"
withExtension: @"caf"];
希望能帮助别人。
非常感谢,但现在又出现了另一个问题:每次播放声音时,iPhone都会振动。怎么了? – Leon 2011-04-06 13:21:14
不知道,但“PlayAlertSound”看起来可疑。也许这是为了嗡嗡声设备?听起来像是另一个问题。祝你好运 – Nektarios 2011-04-06 13:50:04