完成加载后,在新活动中播放URL中的视频

时间:2016-01-21 13:37:42

标签: android android-activity video

使用以下代码,我可以在新的Activity中播放Android上的视频。但是,我想预加载视频(在加载屏幕期间),然后在完全加载时显示它。是否有可能以某种方式触发活动以后显示?从理论上讲,不使用其他活动也是可以的。

public class VideoPlayer extends Activity implements OnCompletionListener,OnPreparedListener
{

    private VideoView mVV;

    @Override
    public void onCreate(Bundle b) {
        super.onCreate(b);

        setContentView(R.layout.videoplayer);

        String url = getIntent().getStringExtra("url");
        if(url == null)
            finish();

        mVV = (VideoView)findViewById(R.id.myvideoview);
        mVV.setOnCompletionListener(this);
        mVV.setOnPreparedListener(this);
        mVV.setVideoURI(Uri.parse(url));
        mVV.start();
    }


    public void stopPlaying() {
        mVV.stopPlayback();
        this.finish();
    }

    @Override
    public void onCompletion(MediaPlayer mp) {
        finish();
    }

    @Override
    public void onPrepared(MediaPlayer mp) {

    }
}

来自我的主要活动:

private void playVideo(String url) {
        Intent videoPlaybackActivity = new Intent(this, VideoPlayer.class);
        videoPlaybackActivity.putExtra("url", url);
        startActivity(videoPlaybackActivity);
    }

我认为我可以使用onPrepared函数,但我不确定如何触发活动以便稍后显示活动。

1 个答案:

答案 0 :(得分:1)

http://developer.android.com/reference/android/widget/VideoView.htmlHere是VideoView的方法。确实有一个: setOnPreparedListener(MediaPlayer.OnPreparedListener l)

可能最好的方法是在活动中使用片段并在活动中显示片段mVV =(VideoView)findViewById(R.id.myvideoview);在调用onprepared时声明。

或隐藏并显示活动中的视图。 (使用碎片可能更好)。 认为这将是有效的,这就是你想要的?