android - phonegap 播放 http ://or file://based mp3s does not work on Android

标签 android cordova mp3 media

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

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/

相关文章:

java - 如何删除 Firebase 事件监听器?

android - Firebase Crashlytics 控制台不显示崩溃日志

ios - camera.getPicture 在选择图库中的 cordova ios 中滞后了太多时间

javascript - 使用 JavaScript XMLHttpRequest 发送凭据不起作用

ios - 如何在iOS应用程序中循环连续播放声音文件?

c# - 在来自asp.net的上传文件中以C#编辑mp3

java - Android 中的海绵城堡

android - 为什么我要在发布到 PlayStore 之前签署我的 apk?

android - 使用 PhoneGap 的实用性如何?

bash - 在 Linux 服务器/终端中压缩/扩展 Mp3 文件中的声音?