使用以下代码,我可以在新的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函数,但我不确定如何触发活动以便稍后显示活动。
答案 0 :(得分:1)
http://developer.android.com/reference/android/widget/VideoView.htmlHere是VideoView的方法。确实有一个: setOnPreparedListener(MediaPlayer.OnPreparedListener l)
可能最好的方法是在活动中使用片段并在活动中显示片段mVV =(VideoView)findViewById(R.id.myvideoview);在调用onprepared时声明。
或隐藏并显示活动中的视图。 (使用碎片可能更好)。 认为这将是有效的,这就是你想要的?