onActivityResult 后媒体播放器不播放
Media player is not play after onActivityResult
我正在尝试创建一个全屏按钮
先是一个fragment播放视频,当我点击按钮时,它播放了activity中的视频,并且需要保持进度。
这里是片段的代码
full_screen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getActivity(), VideoFullScreen.class);
i.putExtra("video_url", video_url);
i.putExtra("time", player.getCurrentPosition());
startActivityForResult(i, intent_code); //random intent number
}
});
@Override
public void onStop() {
super.onStop();
player.stopPlayback();
player.release();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == intent_code) {
if(resultCode == Activity.RESULT_OK){
player.seekTo((int)data.getIntExtra("time", 0));
player.start();
}
}
}
这是 activity
的代码
@Override
public void onStop() {
Intent returnIntent = new Intent();
returnIntent.putExtra("time", (int)player.getCurrentPosition());
setResult(Activity.RESULT_OK, returnIntent);
player.stopPlayback();
player.release();
super.onStop();
}
问题是播放完activity后没有播放,是播放器释放的问题,但是如果我去全屏以外的页面需要播放器释放资源,
即使我删除行 player.release();
也不会触发 player.start()
如何解决?感谢您的帮助
我猜你没有将整个片段的代码放在你的问题中。你应该把你的播放器设置代码放在 onResume 中。在 onActivityResult 中,将时间保存到一个成员变量中,并在 onResume 中执行查找。首次启动它应该寻找 0,随后的 activity 结果将寻找结果意图中设置的任何内容。
我正在尝试创建一个全屏按钮
先是一个fragment播放视频,当我点击按钮时,它播放了activity中的视频,并且需要保持进度。
这里是片段的代码
full_screen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getActivity(), VideoFullScreen.class);
i.putExtra("video_url", video_url);
i.putExtra("time", player.getCurrentPosition());
startActivityForResult(i, intent_code); //random intent number
}
});
@Override
public void onStop() {
super.onStop();
player.stopPlayback();
player.release();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == intent_code) {
if(resultCode == Activity.RESULT_OK){
player.seekTo((int)data.getIntExtra("time", 0));
player.start();
}
}
}
这是 activity
的代码@Override
public void onStop() {
Intent returnIntent = new Intent();
returnIntent.putExtra("time", (int)player.getCurrentPosition());
setResult(Activity.RESULT_OK, returnIntent);
player.stopPlayback();
player.release();
super.onStop();
}
问题是播放完activity后没有播放,是播放器释放的问题,但是如果我去全屏以外的页面需要播放器释放资源,
即使我删除行 player.release();
player.start()
如何解决?感谢您的帮助
我猜你没有将整个片段的代码放在你的问题中。你应该把你的播放器设置代码放在 onResume 中。在 onActivityResult 中,将时间保存到一个成员变量中,并在 onResume 中执行查找。首次启动它应该寻找 0,随后的 activity 结果将寻找结果意图中设置的任何内容。