【问题标题】:Phonegap media api pause/resumePhonegap 媒体 api 暂停/恢复
【发布时间】:2014-11-22 19:55:36
【问题描述】:

我正在使用 phonegap 创建一个 RSS 播放器应用程序。除了暂停/恢复功能外,一切都在工作。暂停很好,但是当再次按下暂停按钮(恢复播放)时,它会回到 mp3 的开头。我的代码如下。任何帮助将不胜感激。

    function onDeviceReady() {
        //window.alert("Loading PhoneGap is completed");
    }

    var media = null;
    var mediaTimer = null;

    function playAudio() {

        //get url passed from previous screen.
        var mp3 = localStorage.getItem("url_to_play");
        var src = mp3;

        media = new Media (src , onSuccess, onError);

        //Play the audio. You can set number of the replaying time here.
        media.play({numberOfLoops:"infinite"});

        if (mediaTimer == null) {

            mediaTimer = setInterval(function() {

                // Return a current playback position
                media.getCurrentPosition(

                    //A Callback function if it's success
                    function(position) {
                        if (position > -1) {
                            setAudioPosition((position) + " sec");

                                    //If the playback stops at "-0.001" position, replay the audio.
                                    if(position == -0.001){

                                        media.play({numberOfLoops:"infinite"});

                                    }
                        }
                    },
                    //A callback function in case of failure
                    function(e) {

                        console.log("Error getting pos=" + e);
                        setAudioPosition("Error: " + e);

                    }
                );
            }, 1000);
        }



    }

    function pauseAudio() {

        if (media) {
            media.pause();
        }
    }

    function stopAudio() {

        if (media) {
            media.stop();
        }

        clearInterval(mediaTimer);
        mediaTimer = null;
    }

【问题讨论】:

    标签: javascript android cordova phonegap-plugins


    【解决方案1】:

    我通过以下方式对其进行了排序:

    if(media === null){media = new Media (src , onSuccess, onError);}
    

    仅当新媒体对象不存在时才创建它。如果它确实存在,那么它已经在播放并且不需要它。

    【讨论】:

      猜你喜欢
      • 2014-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多