我正在开发一个只有少数功能的简单应用程序,它应该可以从网站播放音频以太网,即。
function playfile(){
var playing = "http://static.weareswoop.com/audio/charlestown/track_1.mp3";
var my_media = new Media(playing,
function() {
alert("playAudio():Audio Success");
},
function(err) {
if(err.message != undefined) { alert("playAudio():Audio Error: "+err.message); }
if(err.code != undefined) { alert("playAudio():Audio Error: "+err.code); }
});
// Play audio
my_media.play();
}
用
的 html<a href="#" onclick="playfile()">play</a>
无论我做什么,这在 Andriod(版本 2.X 和 4.X)上都不起作用,但在 iOS(v5 iPad 1 测试)上运行良好。
如果我对基于网络的文件执行此操作,我不会从成功或失败函数中得到任何响应,但如果我再次对 SD 卡上的本地文件运行此操作,即 file:///mnt/sd-card/mining/charlestown/track1.mp3 我收到错误代码 1,但没有错误消息。
我们非常欢迎任何帮助。
编辑:获取我正在使用 FileTransfer() 下载的本地文件版本(在任何操作系统上都可以正常工作)。
window.appRootDirName = "mining"; // sets the working directory
var playing = window.appRootDir.fullPath + "/track1.mp3"; // sets filename
因此,我最终得到一个 URI 文件:///mnt/sd-card/mining/track1.mp3,这是在 2.x Samsung Galaxy Y 上工作时完全正确的 uri。
我必须再次强调,整个情况适用于 iOS,但不适用于 Android。在 Android 上,当获取基于 HTTP: 的文件时,它没有给出错误或成功,在 FILE://上,它在尝试播放时给出错误代码 1。
最佳答案
您必须将 android_asset/www/添加到文件路径才能让它从文件中播放,请参阅以下错误。
Playing local sound in phonegap
这应该可以解决播放本地文件部分的问题
我试过玩 http://static.weareswoop.com/audio/charlestown/track_1.mp3使用 Cordova 3.0 和 android 4.3 对我来说效果很好
关于android - phonegap 播放 http ://or file://based mp3s does not work on Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638290/