在Cordova应用程序中播放音频声音

时间:2016-07-24 22:39:27

标签: android jquery 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();

第二个代码(脚本标记中的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);
    });

带一个按钮:

<button id ="playAudio">PLAY</button>

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

为此浪费了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');
  }

`

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

playMP3();

答案 1 :(得分:1)

要回答您的问题,您可以使用以下github page中的媒体插件找到cordova app的工作示例。

如示例项目的README中所述,您还必须安装cordova设备插件以检查设备平台。

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