繁体   English   中英

Cordova Media Plugin多种音频功能

[英]Cordova Media Plugin multiple audio dosent work

我是Cordova的新手,我很想找到解决方案,我的应用程序中有20种声音,当我运行该应用程序时,该应用程序首先单击“仅音频”,然后忽略/拒绝其他声音代码:

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady() {
    document.querySelector("#playMp3Mild").addEventListener("touchend", playMp3Mild, false);
    document.querySelector("#stop").addEventListener("touchend", stopAudio, false);
    document.querySelector("#pause").addEventListener("touchend", pauseAudio, false);

};

media = null;
mediaTimer = null;


function playMp3Mild(src) {
    mp3URL = getMediaURL(src);
    if(media === null){
    media = new Media(mp3URL , null, mediaError);
    }
    media.setVolume(0.1);
    media.play();
}

      function stopAudio() {
            if (media) {
                media.stop();
            }
            clearInterval(mediaTimer);
            mediaTimer = null;
        }


 function getMediaURL(s) {
     if(device.platform.toLowerCase() === "android") return "/android_asset/www/" + s;
     return s;
 }

function mediaError(e) {

}

我尝试删除此行if(media === null)它起作用,但是现在我遇到了另一个问题,所有音频同时工作。 非常抱歉我的英语不好,我相信与社区会更好

您可能想先尝试停止旧媒体,因为您覆盖了媒体变量,而不是停止旧媒体。 然后将旧媒体值设置为null,这样您的if(media === null)语句将返回true。 media.stop()不会使媒体等于null。 请尝试以下操作,并告诉我们是否适合您。

function playMp3Mild(src) {
    mp3URL = getMediaURL(src);
    stopAudio();
    if(media === null){
    media = new Media(mp3URL , null, mediaError);
    }
    media.setVolume(0.1);
    media.play();
}

function stopAudio() {
    if (media) {
        media.stop();
    }
    clearInterval(mediaTimer);
    media = null;
    mediaTimer = null;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM