在 Cordova 应用程序中播放音频

Tah*_*aha 5 jquery android cordova cordova-plugins

我正在使用 Cordova 媒体插件在我的移动应用程序中播放音频我尝试了很多代码,但我没有弄清楚我在底部做错了什么我放了两段我尝试过的代码

第一个代码(单独文件中的js代码)

   var app = {
    initialize: function() {
        this.bindEvents();
    },
    bindEvents: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    onDeviceReady: function() {


        var myMedia = new Media("../sounds/clapping.mp3");
        myMedia.play();

    }
};

app.initialize();
Run Code Online (Sandbox Code Playgroud)

第二个代码(脚本标签中的 js 代码):

     document.addEventListener("deviceready", function(){

   var myMedia = null;
    function playAudio() {

    var src = "sounds/clapping.mp3";

    if(myMedia === null) {
    myMedia = new Media(src, onSuccess, onError);

    function onSuccess() {
    console.log("playAudio Success");
    }

    function onError(error) {
    console.log("playAudio Error: " + error.code);
    }

    }

    myMedia.play();
    }

    document.getElementById("playAudio").addEventListener("click", playAudio);
    });
Run Code Online (Sandbox Code Playgroud)

带按钮:

<button id ="playAudio">PLAY</button>
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题 ?

Man*_*ddy 6

浪费了2个小时,在这里分享:

这应该不难。没有完整的例子:https : //cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/

简单的步骤细节:

  1. 将我的文件放在 www 中:

示例在: www/audio/button-1.mp3

  1. 安装插件:

    cordova plugin add cordova-plugin-media

  2. 复制粘贴以下代码:

`

  function getFullMediaURL(s) {
    return cordova.file.applicationDirectory + 'www/audio/button-1.mp3'
  }

  function playMP3() {
    let src = getFullMediaURL();
    var myMedia =
      new Media(src,
        function () { },
        function (e) { alert('Media Error: ' + JSON.stringify(e)); }
      );
    myMedia.play();
    myMedia.setVolume('1.0');
  }
Run Code Online (Sandbox Code Playgroud)

`

第 4 步:在您需要播放声音的地方拨打以下电话:

playMP3();
Run Code Online (Sandbox Code Playgroud)


Gan*_*dhi 1

要回答您的问题,您可以在以下github 页面中找到使用 Media Plugin 的 cordova 应用程序的工作示例。

正如示例项目的自述文件中提到的,您还必须安装 cordova 设备插件来检查设备平台。

另外为了澄清您在评论中提到的疑问,android_asset请参阅项目的根文件夹。