1

我目前正在使用 Corona SDK 开发一个应用程序,它使用音频 API 来实现音效和背景音乐。音频在模拟器和 Android 上运行良好,但是当我在 iOS 上测试时,没有播放音频。

为了检查我的代码是否有问题,我尝试了 Corona SDK 中包含的示例“AudioPlayer”应用程序作为示例。同样,音频在模拟器和 Android 上播放良好,但在我测试的两台 iOS 设备(iPad 和 iPad Mini)上,听不到声音。我仔细检查了设备上的音量并尝试了所有可用的声音格式,但没有任何帮助。您可以在示例代码下的“媒体”文件夹中找到示例应用程序,但这里是实际播放声音的关键部分:

--If we are trying to load a sound, then use loadSound
if supportedAudio[ platform ].extensions[ audioFileSelected ] == loadTypes[ "sound" ].extensions[ audioExtensionSelected ] then
    --Load the audio file fully into memory
    audioLoaded = audio.loadSound( audioFiles[ audioFileSelected ] .. supportedAudio[ platform ].extensions[ audioExtensionSelected ] )
    --Play audio file
    audioHandle = audio.play( audioLoaded, { channel = 1, loops = audioLoops, onComplete = resetButtonState } )
else
    --Load the audio file in chunks
    audioLoaded = audio.loadStream( audioFiles[ audioFileSelected ] .. supportedAudio[ platform ].extensions[ audioExtensionSelected ] )
    --Play the audio file
    audioHandle = audio.play( audioLoaded, { channel = 1, loops = audioLoops, onComplete = resetButtonState } )
end

这是 Corona SDK 和/或 iOS 的错误,还是我做错了什么?当我在 Google 上搜索此内容时,我找不到其他似乎遇到类似问题的人,尽管播放声音似乎不是一项非常罕见的任务。由于据我所知没有其他人遇到这个问题,我可能做错了什么,但老实说我不知道​​它可能是什么。其他人可以重现这个问题吗?预先感谢您的帮助!

笔记:

iPad 运行 iOS 版本 5.1.1,iPad Mini 运行 iOS 版本 6.1.2,我正在使用最新的 Corona SDK 公开版本(作为 Corona SDK Starter 免费提供)。我还尝试了 Corona SDK 的先前公开版本,但没有任何区别,所以如果是回归,则不是最近的。

更新:

我刚刚在 iPod Touch(iOS 版本 6.1.3)上试了一下,声音很好。但是,我仍然完全不知道是什么导致了其他两个设备上的问题。有人对它可能是什么有任何见解吗?

4

3 回答 3

0

Ogg Vorbis 是一种免版税和专利的格式。但是,这在 iOS 上不受支持。

请注意,某些格式(尤其是高度压缩的有损格式,如 mp3、aac、ogg vorbis)可能会在音频样本的末尾填充/删除样本,并可能破坏“完美循环”剪辑。如果您在循环播放中遇到间隙,请尝试使用 WAV 并确保您的导入点和结束点是干净的。

如需进一步说明,请访问:http: //developer.coronalabs.com/partner/audionotes

于 2013-10-01T04:18:22.813 回答
0

我有完全相同的问题。结果确实是大写/小写命名问题。实际文件名是“song.mp3”,在代码中将其称为“Song.mp3”。Android 不关心这个,但 iOS 关心。另外,我有时在我的 Windows 环境中发现,如果我重命名文件只是改变大小写,它并不总是反映它。

于 2014-03-19T20:10:50.643 回答
0

出于兴趣,您使用的是哪些文件类型?尝试在 iOS 上使用 oggs 时遇到问题。和你一样,他们在模拟器和 Android 上工作,但不在 iOS 上。所以我的第一个建议是检查文件类型是否可以在 iOS 上使用。此外,您是否 100% 确定代码中的文件名没有错误?我遇到过问题,一个平台以某种方式绕过了大写/小写文件名的错误,但另一个平台没有。

于 2013-09-20T11:27:23.267 回答