【问题标题】:Video Loop when it comes to the end [duplicate]视频结束时循环[重复]
【发布时间】:2017-03-20 13:59:39
【问题描述】:

如何使视频在剪辑结束并再次开始剪辑时无缝循环播放

`public class TvPlay extends Activity 实现 OnCompletionListener, OnErrorListener, OnPreparedListener {

    private VideoView mVideoView;
    private String url;
    private ProgressBar load;
    private TextView empty;
    private AdView mAdView;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);

// Vitamio.isInitialized(this); Vitamio.isInitialized(getApplicationContext());

                this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
                setContentView(R.layout.tvplay);
                mAdView = (AdView) findViewById(R.id.adView);
                mAdView.loadAd(new AdRequest.Builder().build());
                Log.d("url=", getIntent().getStringExtra("url"));
                url = getIntent().getStringExtra("url");
                init();

            }

    public void init() {
        load = (ProgressBar) this.findViewById(R.id.load);
        empty = (TextView) this.findViewById(R.id.empty);
        mVideoView = (VideoView) this.findViewById(R.id.surface_view);
        mVideoView.setOnCompletionListener(this);
        mVideoView.setOnPreparedListener(this);
        mVideoView.setOnErrorListener(this);
        Uri videoUri = Uri.parse(url);
        mVideoView.setVideoURI(videoUri);
        mVideoView.requestFocus();
        loading();
    }

    private void loading() {
        load.setVisibility(View.GONE);
        empty.setVisibility(View.GONE);
    }

    private void loadComplete(MediaPlayer arg0) {
        load.setVisibility(View.GONE);
        // vv.setVisibility(View.VISIBLE);
        empty.setVisibility(View.GONE);
        mVideoView.start();
        mVideoView.resume();
    }

    private void error(String msg) {
        load.setVisibility(View.GONE);
        mVideoView.setVisibility(View.GONE);
        empty.setVisibility(View.VISIBLE);
        if (msg != null)
            empty.setText(msg);
    }

    @Override
    public void onPrepared(MediaPlayer mp) {
        // TODO Auto-generated method stub
        Log.d("ONLINE TV", "Prepared");
        loadComplete(mp);
    }

    @Override
    public boolean onError(MediaPlayer mp, int what, int extra) {
        // TODO Auto-generated method stub
        Log.d("ONLINE TV", "Error");
        error("Unable to play this channel.");
        return false;
    }

    @Override
    public void onCompletion(MediaPlayer mp) {
        // TODO Auto-generated method stub
        Log.d("ONLINE TV", "Complete");
    }
}

`

【问题讨论】:

    标签: android eclipse video-streaming android-videoview vitamio


    【解决方案1】:

    这将使您的视频继续播放

     mVideoView.setOnPreparedListener(new OnPreparedListener() {
    
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.setLooping(true);
            }
        });
    

    【讨论】:

    • iam 使用流式 url 。所以这对我不起作用
    猜你喜欢
    • 1970-01-01
    • 2022-12-02
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2018-04-06
    • 1970-01-01
    相关资源
    最近更新 更多