SimpleAudioEngine,播放.caf文件

可能重复:
玩一个.caf文件:在模拟器中工作正常,但在iPhone中没有

我正在尝试使用SimpleAudioEngine在我正在处理的iPhone应用程序中播放背景音乐。 我使用下面的代码播放背景音乐:

[[SimpleAudioEngine sharedEngine] preloadBackgroundMusic: @"MenuTheme.mp3"]; [[SimpleAudioEngine sharedEngine] playBackgroundMusic: @"MenuTheme.mp3" loop: YES]; 

这工作正常。

但是,当我使用以下行使用terminal将MenuTheme.mp3转换为MenuTheme.caf时:

 afconvert -f caff -d LEI16 "MenuTheme.mp3" "MenuTheme.caf" 

我再次使用SimpleAudioEngine播放.caf文件,它不起作用。

任何想法如何解决这个问题? .caf文件在我单击时发挥作用。 在terminal,当我写:

 afinfo "MenuTheme.caf" 

它告诉我的数据格式是2CH,44100Hz,'lpcm'(0x0000000C)16位小尾数有符号整数无通道布局。

我真的不知道什么是错,但我也很新,在iPhone上使用audio。 任何帮助表示赞赏。 谢谢。

编辑:afconvert拼写错误

我认为这是你的问题中提到的不可fconvert 。 (我相信这是一个错字,对吗?)我没有看到你的命令行显而易见的问题。 我通常使用:

 afconvert -f caff -d LEI16@22050 sound.wav 

将我的wave文件转换为CAF。

由于您不能通过单击来播放CAF文件,我build议尝试将其转换为其他格式,如wave或AIFF:

 afconvert -f AIFC -d ima4 sound.wav 

并尝试在Finder中播放它们。 如果它不起作用,请尝试先将MPEG Layer 3文件转换为第三方工具(如Audacity),然后再次尝试afconvert

PS我通常使用CAF音效,并使用AIFF作为背景音乐。 请参阅: iOS上的声音:最佳实践。