How to loop a audio in phonegap?

浪尽此生 提交于 2019-12-19 06:19:08

问题


I'm using phonegap 2.2.0. I tried some code to loop the audio for playing without interruption but it is not working on my android device. It plays only once. Here is my code:

 


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


Can you tell me what is wrong here?


回答1:


Looping is not supported for Android yet in Phonegap - so numberOfLoops does nothing except on iOS devices.




回答2:


Listen to status change and start paying on MEDIA_STOPPED. If you want the user to stop the sound, use snd.pause() and not snd.stop()

This worked for me:

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


来源:https://stackoverflow.com/questions/13927316/how-to-loop-a-audio-in-phonegap

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!