簡體   English   中英

setLooping(true)在豆形軟糖和奇巧中不起作用

[英]setLooping(true) is not working in jellybean and kitkat

我正在開發一個從URL播放視頻的應用程序,以控制視頻,我還添加了mediacontroller。

我希望視頻以無休止的循環播放,所以我在媒體播放器中添加了以下代碼

`mp.setLooping(true);` 

內部videoview.setOnPreparedListener方法

但是setLoop(true)方法在豆形軟糖和kitkat設備中不起作用。 它適用於Android M及更高版本。 我沒有在android L中調試,因為我還沒有模擬器。

我還瀏覽了MediaPlayer文檔,他們提到在API 1中添加了setLooping(true) ,但在android K和J中不起作用

幫助我解決以上問題

下面是我的完整代碼

public void videoStup(final ProgressBar pb, final VideoView videoview)
    {
        pb.setVisibility(View.VISIBLE);

        try
        {
            MediaController mediacontroller = new MediaController(this);
            mediacontroller.setAnchorView(this.videoview);
            mediacontroller.setBackgroundResource(R.color.white);
            //mediacontroller.setVisibility(View.GONE);

            Uri video = Uri.parse(VideoURL);
            videoview.setMediaController(mediacontroller);
            videoview.setVideoURI(video);
            videoview.seekTo(100);

        } catch (Exception e)
        {
            Log.e(TAG, "error = "+e.getMessage());
            //e.printStackTrace();
        }

        videoview.requestFocus();
        videoview.setOnPreparedListener(new OnPreparedListener() {
            public void onPrepared(MediaPlayer mp) {
                mp.setLooping(true);
                pb.setVisibility(View.GONE);
                videoview.start();
            }
        });
    }

我通過以下代碼解決了我的問題,現在它也可以在Android jellybean和Android Kitkat中使用

我唯一需要做的就是在視頻播放完成后調用恢復方法。

這是我的代碼

videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp)
        {

            Log.d(TAG,"onCompletion");
            videoview.resume();

        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM