我正在开发一个只有几个功能的简单应用程序,它应该从网站播放音频以太,即。
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)。
如果我对基于 Web 的文件执行此操作,我不会从 Success 或 Failure 函数中得到任何响应,但如果我再次运行 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 file:///mnt/sd-card/mining/track1.mp3,这是在 2.x Samsung Galaxy Y 上工作时完全正确的 uri。
再次,我必须强调,这整个情况适用于 iOS,但不适用于 Android。在 Android 上,当获取基于 HTTP: 的文件时,它没有给出错误或成功,在 FILE:// 上,它在尝试播放时给出错误代码 1。