【发布时间】:2011-11-25 08:44:17
【问题描述】:
我有这段代码用于在 VideoView 上播放视频
myVideoView = (VideoView) findViewById(R.id.VideoView);
myVideoView.setVideoURI(Uri.parse(path));
myVideoView.requestFocus();
myVideoView.start();
视频播放完毕后,我收到消息:“抱歉,无法播放此视频”。我想缓存视频播放完毕的那一刻。我该怎么做?
这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video);
Bundle extras = getIntent().getExtras();
path = extras.getString("path");
idPlaylist = extras.getString("idPlaylist");
timer = extras.getString("timer");
myVideoView = (VideoView) findViewById(R.id.VideoView);
myVideoView.setVideoURI(Uri.parse(path));
myVideoView.requestFocus();
myVideoView.start();
myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Intent i = new Intent(getBaseContext(),
com.PlayerOrange.ViewPlaylist.class);
i.putExtra("id", idPlaylist);
i.putExtra("timer", timer);
startActivity(i);
finish();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println("Playing "+myVideoView.isPlaying());
if ((keyCode == KeyEvent.KEYCODE_BACK) && (myVideoView.isPlaying()==true)) {
//nothing happens
} else {
Intent i = new Intent(getBaseContext(),
com.PlayerOrange.ViewPlaylist.class);
i.putExtra("id", idPlaylist);
i.putExtra("timer", timer);
startActivity(i);
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
【问题讨论】:
-
我编辑了我的问题。我希望当按下后退按钮并且视频正在播放时没有任何反应,但它也不起作用。
-
什么是 currentActivityName ?
-
我收到同样的信息,而且 VideoView 不是静态的。
-
访问我在答案中添加的链接。在我的情况下,我尝试了您的代码并且它的工作正常..