playing audio sounds in Cordova application

2019-07-23 17:37发布

I'm using Cordova media plugin for playing audio sound in my mobile application I tried many codes but I didn't figure out what I'm doing wrong at the bottom I put two piece of code that I tried them

the first code (js code in a separate file)

   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();

the second code (js code in a script tag) :

     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);
    });

with a button :

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

How can I solve this problem ?

2条回答
趁早两清
2楼-- · 2019-07-23 18:31

To answer your question, you can find the working sample of cordova app using Media Plugin in the following github page.

As mentioned in the sample project's README, you gotta install cordova device plugin as well to check the device platform.

Also to clarify the doubt you mentioned in the comment, android_asset refers to the project's root folder.

查看更多
够拽才男人
3楼-- · 2019-07-23 18:33

Wasted 2 hours on this, sharing it here:

This should not be this difficult. No full example at: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/

Simple step by step details:

  1. Put my file in www:

Example at: www/audio/button-1.mp3

  1. Install plugin:

    cordova plugin add cordova-plugin-media

  2. Copy paste code below:

`

  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');
  }

`

Step 4: Call below where you need play sound:

playMP3();
查看更多
登录 后发表回答