gpt4 book ai didi

android - 在 VideoView 中从暂停状态开始播放视频

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:31 25 4
gpt4 key购买 nike

对于自定义视频 View ,我必须覆盖 MediaController(以更改按钮的设计并连接到按钮暂停/播放选择器)。情况是这样的:把视频暂停并打开应用程序,然后再次恢复,视频又开始播放了,而且不是从暂停的地方开始播放,于是问题就来了:如何让视频开始播放从那个地方,它被停下来的地方?我需要在 VideoActivity 中更改什么?

public class VideoActivity extends Activity {

VideoView videoView;

VkMediaController mc;

private static final String CURRENT = "duration";

private static final String URL = "url";

private Uri mURI;

private int mCurrentPosition = -1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.video_view_player);
videoView = (VideoView) findViewById(R.id.videoViewplayer);
mc = new VkMediaController(this);
mURI = getIntent().getData();
if (savedInstanceState != null) {
mURI = Uri.parse(savedInstanceState.getString(URL));
mCurrentPosition = savedInstanceState.getInt(CURRENT);

}
videoView.setMediaController(mc);
videoView.setVideoURI(mURI);
videoView.requestFocus();
}

@Override
protected void onStart() {
super.onStart();
videoView.start();
if (mCurrentPosition != -1) {
videoView.seekTo(mCurrentPosition);
}
}

@Override
public void onSaveInstanceState(Bundle outState) {
outState.putInt(CURRENT, videoView.getCurrentPosition());
outState.putString(URL, mURI.toString());
super.onSaveInstanceState(outState);
}
}

最佳答案

我认为问题在于当您在 onSaveInstanceState(Bundle outState) 中调用时 videoView.getCurrentPosition() 将始终返回 0,因为那时视频已经重置,所以在 onPause() 时调用 videoView.getCurrentPosition(),这将返回您想要的值。

关于android - 在 VideoView 中从暂停状态开始播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12617209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com