可能重复:
playing a .caf file: works fine in simulator but not in iPhone
我正在尝试使用SimpleAudioEngine在我正在处理的iPhone应用中播放背景音乐。我使用以下代码播放背景音乐:
[[SimpleAudioEngine sharedEngine] preloadBackgroundMusic: @"MenuTheme.mp3"];
[[SimpleAudioEngine sharedEngine] playBackgroundMusic: @"MenuTheme.mp3" loop: YES];
这很好用。
但是,当我使用以下行将MenuTheme.mp3转换为MenuTheme.caf时:
afconvert -f caff -d LEI16 "MenuTheme.mp3" "MenuTheme.caf"
我再次使用SimpleAudioEngine播放.caf文件,它不起作用。
有关如何解决此问题的任何想法?单击它时,.caf文件会播放。在终端,我写的时候:
afinfo "MenuTheme.caf"
它告诉我数据格式是2 ch,44100 Hz,'lpcm'(0x0000000C)16位little-endian有符号整数无通道布局。
我真的不知道出了什么问题,但我也很擅长在iPhone上使用音频。任何帮助表示赞赏。感谢。
编辑:afconvert拼写错误
答案 0 :(得分:2)
我认为你的问题中提到afconvert
而不是fconvert
。 (我相信这是一个错字,对吧?)我在你的命令行上看不到明显的问题。我通常使用:
afconvert -f caff -d LEI16@22050 sound.wav
将我的wave文件转换为CAF。
由于您无法通过点击播放CAF文件,我建议您尝试将其转换为wave或AIFF等其他格式:
afconvert -f AIFC -d ima4 sound.wav
并尝试在Finder中播放它们。如果它也不起作用,请尝试通过某些第三方工具(例如Audacity)将MPEG Layer 3文件转换为wave,然后再次使用afconvert
。
P.S。我通常使用CAF作为声音效果,并使用AIFF作为背景音乐。请参阅:Sound on iOS: Best Practices.