我正在努力让它发挥作用。 我试着解释一下。我有这样的声音:
我使用以下代码播放代码中的任何声音:
[PlaySounds PlaySound:glo_sound_login];
这将是代码的这一部分
+(void)PlaySound:(NSString *)PlaySound{
SystemSoundID soundID;
NSString *soundFile = [[NSBundle
mainBundle]pathForResource:PlaySound ofType:@"mp3"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL
fileURLWithPath:soundFile],&soundID);
AudioServicesPlaySystemSound(soundID);
if (glo_pref_vibrate == YES) {
AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);}}
所以我的glo_sound_login看起来像那样:NSString *glo_sound_login=@"Login";
这很好用。但是当我试着打电话时
[PlaySounds PlaySound:glo_sound_update];
看起来像这样:NSString *glo_sound_update=@"Update";
然后它不会播放我的更新声音! 有没有解释为什么我不会播放我的声音? 对于任何一种帮助,我很感激! :) 谢谢 还有一件事: 当我尝试点击Update.mp3文件时,xcode打开文件,它将播放: See Here
答案 0 :(得分:0)
根据有关AudioServicesPlaySystemSound功能的文档,您无法在该上下文中使用mp3格式。
完整文档here
使用此功能播放的声音文件必须是:
- 持续时间不超过30秒
- 采用线性PCM或IMA4(IMA / ADPCM)格式
- 以.caf,.aif或.wav文件打包
注意:使用afconvert轻松创建正确的格式文件。
生成CAF文件/ little-endian 16bit的例子(应该是完美的)。
/usr/bin/afconvert -f caff -d LEI16 {INPUT} {OUTPUT}