使用下面的代码,我可以在新的 Activity 中播放 android 上的视频。但是,我想预加载视频(在加载屏幕期间),然后在完全加载时显示它。是否有可能以某种方式触发 Activity 以稍后显示?理论上,不使用其他 Activity 也是可以的。
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) {
}
}
来 self 的主要 Activity :
private void playVideo(String url) {
Intent videoPlaybackActivity = new Intent(this, VideoPlayer.class);
videoPlaybackActivity.putExtra("url", url);
startActivity(videoPlaybackActivity);
}
我想我可以使用 onPrepared 函数,但我不确定如何触发 Activity 以稍后显示 Activity 。
最佳答案
http://developer.android.com/reference/android/widget/VideoView.htmlHere是 VideoView 的方法。所以确实有一个: setOnPreparedListener(MediaPlayer.OnPreparedListener l)
可能最好的方法是在 Activity 中使用 fragment 并在 Activity 中显示 fragment ,其中 mVV = (VideoView)findViewById(R.id.myvideoview);在调用 onprepared 时声明。
或者隐藏和显示 Activity 中的 View 。 (使用 fragment 可能更好)。 认为这行得通并且这就是您想要的吗?
关于android - 加载完成后在新 Activity 中从 URL 播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34925357/