2

我正在开发一个只有几个功能的简单应用程序,它应该从网站播放音频以太,即。

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。

4

2 回答 2

1

您必须将 android_asset/www/ 添加到文件路径才能使其从文件中播放,请参阅以下错误。

在 phonegap 中播放本地声音

这应该可以解决播放本地文件的部分问题

我尝试播放http://static.weareswoop.com/audio/charlestown/track_1.mp3并且使用 Cordova 3.0 和 android 4.3 对我来说效果很好

于 2013-09-26T14:40:21.687 回答
0

通过 PhoneGap 桌面/PhoneGap Developer 应用程序运行时,播放媒体文件不起作用。当您进行“真正的”构建时,它确实有效,例如使用 PhoneGap Build,然后在手机上安装应用程序。

因此,除了使用完整的文件路径,如其他答案中所述,您还需要运行“真实”构建。

看起来这是 PhoneGap 知道并在其列表中列出的错误:https ://github.com/phonegap/phonegap-app-desktop/issues/335 。

于 2015-08-03T21:46:21.120 回答