onActivityResult

时间:2016-01-13 18:36:33

标签: android video media-player android-mediaplayer

我正在尝试创建一个全屏按钮

首先片段播放视频,当我点击按钮时,它会播放活动中的视频,并且需要维护进度。

以下是片段

的代码
 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();
            }
        }
    }

以下是活动代码

@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();
}

问题是视频在活动结束后没有播放,这是由于播放器发布,但如果我转到FullScreen以外的页面,它需要在那里释放资源,

即使我删除了行player.start()

player.release();也不会触发

如何解决?谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

你没有把你的整个片段代码放在你的问题中,所以我猜。您应该将播放器设置代码放在onResume中。在onActivityResult中,将时间保存到成员变量,onResume执行搜索。首次启动它应该寻求0,随后的活动结果将寻求结果意图中设置的任何内容。