gpt4 book ai didi

android - VideoView 仅在 Galaxy s4 上不循环播放视频

转载 作者:太空宇宙 更新时间:2023-11-03 10:21:00 26 4
gpt4 key购买 nike

在我的应用程序中,我使用 VideoView 流式传输视频文件,并使用 MediaPlayer.setLooping(true) 制作 VideoView 循环视频。

这是一些代码 -

videoView.setVideoPath(url);
videoView.setOnPreparedListener(new OnPreparedListener() {

@Override
public void onPrepared(MediaPlayer mp) {
if (shouldLoopVideo) {
mp.setLooping(true);
}

videoView.start();
}
});

此代码适用于除 Galaxy s4 android 4.2.2 之外的所有设备我在许多设备和许多 android 版本上测试过,但唯一失败的是 galaxy s4。

设备将播放一次视频,然后停止(在调用 onCompletion 监听器之后)。

最佳答案

这是Android 4.4.2的一个bug。我的解决方法:

private String mVideoPath;
private VideoView mVideoView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mVideoPath = "android.resource://" + getActivity().getPackageName() + "/" + R.raw.backvideo;
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);


mVideoView = (VideoView) view.findViewById(R.id.videoBackground);
mVideoView.setVideoURI(Uri.parse(mVideoPath));
mVideoView.setKeepScreenOn(true);


mVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer mp) {
mVideoView.setVideoURI(Uri.parse(mVideoPath));
mVideoView.start();
}
});

mVideoView.start();
}


@Override
public void onPause() {
super.onPause();
mVideoView.pause();
}

@Override
public void onResume() {
super.onResume();
mVideoView.setVideoURI(Uri.parse(mVideoPath));
mVideoView.start();
}

关于android - VideoView 仅在 Galaxy s4 上不循环播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969495/

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