如何在phonegap中循环播放音频?

时间:2012-12-18 06:12:53

标签: cordova cordova-plugins

我正在使用phonegap 2.2.0。我尝试了一些代码来循环播放音频而不会中断,但它无法在我的Android设备上运行。它只播放一次。这是我的代码:

 


    function playAudio(url) {

        var my_media = new Media(url,
            function() {
                console.log("playAudio():Audio Success");
            },
            function(err) {
                console.log("playAudio():Audio Error: "+err);
            },
            function(status) {
                console.log("playAudio():Audio Status: "+status);
            }
        });

        // Play audio
        my_media.play({numberOfLoops:99});
    }


你能告诉我这里有什么问题吗?

2 个答案:

答案 0 :(得分:12)

收听状态更改并开始支付MEDIA_STOPPED。如果您希望用户停止声音,请使用snd.pause()而不是snd.stop()

这对我有用:

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

    var getPhoneGapPath = function() {
        var path = window.location.pathname;
        path = path.substr( path, path.length - 10 );
        return path;
    };

    var snd = null;

    function onDeviceReady(){
        snd = new Media( getPhoneGapPath() + "sound/funk_game_loop.mp3", onSuccess, onError, onStatus);
        snd.play();
    }

    // onSuccess Callback
    function onSuccess() {
    }
    // onError Callback 
    function onError(error) {
    }
    // onStatus Callback 
    function onStatus(status) {
        if( status==Media.MEDIA_STOPPED ) {
            snd.play();
        }
    }

答案 1 :(得分:3)

在Phonegap中Android尚不支持循环 - 所以numberOfLoops除iOS设备外什么都不做。