一个月前,我开始使用phonegap,html5,css3和jQtouch。 我正在开发一个应用程序,我需要在应用程序中播放声音。我对这个任务有严重的问题。 首先我发现我可以使用新的Media(...)函数通过phonegap播放.mp3文件。我不确定.wav文件,我可以播放吗? 其次我发现文件必须少于30秒,是这样吗? 第三,我找不到我的声音文件的正确位置。我的项目结构如下:
project
-- src
-- gen
-- assets
-- -- www
-- -- DANCE.mp3
-- -- jqtouch
-- -- -- (some folders and files)
-- -- phonegap.js
-- libs
-- res
我尝试将文件放在'www'文件夹中并创建一个名为'audio'的新文件。这些都没有给我我想要的东西。 我正在使用此代码执行歌曲:
function playStream() {
mp3file = new Media("DANCE.mp3",
function() {
alert("playAudio():Audio Success");
},
function(err) {
alert(err);
}
);
mp3file.play();
}
我使用Android 2.1模拟器,我也试过2.2但没有成功。 我希望我很清楚。 我期待着您的回音。 此致, 米哈伊尔维利科夫
答案 0 :(得分:18)
PhoneGap for Android允许您将本地音频文件存储在两个位置: android_asset:文件名必须以/android_asset/sound.mp3开头 sdcard:文件名只是sound.mp3
如果将DANCE.mp3文件放在项目的资产目录中,则可以使用以下路径播放:
mp3file = new Media("/android_asset/DANCE.mp3",
function() {
alert("playAudio():Audio Success");
},
function(err) {
alert(err);
}
);
mp3file.play();
(您可以在Android PhoneGap来源中阅读AudioPlayer.java的来源,了解其工作原理。)
答案 1 :(得分:2)
我可以提供建议吗? 如果您使用PhoneGap媒体播放器..您需要从路径中删除文件://它不接受本地文件的完整URI 问候 金
答案 2 :(得分:1)
我发现我的错误在哪里。 正如我最初想的那样,我想要播放的音频文件没有正确放置。我把它移到/ sdcard文件夹中,一切都很精彩! 附:我只使用文件名,没有文件夹。
答案 3 :(得分:0)
为什么不用HTML 5 audio tag播放歌曲?你的观点是一个webView ..无所谓,它更简单,你有更多的控制权。