Android视频视图变黑
这似乎是一个非常常见的问题,但我无法在上面搜索它 我有一个简单的Android视频视图变黑,android,video,Android,Video,这似乎是一个非常常见的问题,但我无法在上面搜索它 我有一个简单的视频视图,它可以播放mp4文件中的视频。它连续播放视频并循环播放视频 问题是当播放时,我去了设置,然后回来,然后视频变成黑色 这是我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video); v
视频视图
,它可以播放mp4文件中的视频。它连续播放视频并循环播放视频
问题是当播放时,我去了设置,然后回来,然后视频变成黑色
这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
video = (VideoView) findViewById(R.id.video);
// Load and start the movie
Uri video1 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback);
video.setVideoURI(video1);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
video.start();
我不想在这方面有什么特别的东西,只要一个全屏幕的视频播放,它可以循环播放视频直到用户点击后退按钮。试试这个
private int stopPosition;
private VideoView splashVideoView; <-- my Video view
private int videoViewStopPosition ;
@Override
protected void OnPause(){
super.onPause();
videoViewStopPosition = vidView.getCurrentPosition();
vidView.pause();
}
@Override
protected void OnResume() {
super.onResume();
vidView.seekTo(videoViewStopPosition);
vidView.start();
}
试试这个
private int stopPosition;
private VideoView splashVideoView; <-- my Video view
private int videoViewStopPosition ;
@Override
protected void OnPause(){
super.onPause();
videoViewStopPosition = vidView.getCurrentPosition();
vidView.pause();
}
@Override
protected void OnResume() {
super.onResume();
vidView.seekTo(videoViewStopPosition);
vidView.start();
}
试试这个
private int stopPosition;
private VideoView splashVideoView; <-- my Video view
private int videoViewStopPosition ;
@Override
protected void OnPause(){
super.onPause();
videoViewStopPosition = vidView.getCurrentPosition();
vidView.pause();
}
@Override
protected void OnResume() {
super.onResume();
vidView.seekTo(videoViewStopPosition);
vidView.start();
}
试试这个
private int stopPosition;
private VideoView splashVideoView; <-- my Video view
private int videoViewStopPosition ;
@Override
protected void OnPause(){
super.onPause();
videoViewStopPosition = vidView.getCurrentPosition();
vidView.pause();
}
@Override
protected void OnResume() {
super.onResume();
vidView.seekTo(videoViewStopPosition);
vidView.start();
}
我也有同样的问题。我发现这样做的主要原因是使用
FrameLayout
作为父布局。我将其更改为RelativeLayout
,作为VideoView
的父布局,问题得到了解决。我也遇到了同样的问题。我发现这样做的主要原因是使用FrameLayout
作为父布局。我将其更改为RelativeLayout
,作为VideoView
的父布局,问题得到解决。您还需要在onResume()中创建视频视图。试试这个:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
setVideoBackground();
}
@Override
protected void onResume() {
super.onResume();
setVideoBackground();
}
private void setVideoBackground(){
video = (VideoView) findViewById(R.id.video);
// Load and start the movie
Uri video1 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback);
video.setVideoURI(video1);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
video.start();
}
您还需要在onResume()中创建视频视图。试试这个:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
setVideoBackground();
}
@Override
protected void onResume() {
super.onResume();
setVideoBackground();
}
private void setVideoBackground(){
video = (VideoView) findViewById(R.id.video);
// Load and start the movie
Uri video1 = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback);
video.setVideoURI(video1);
video.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
video.start();
}
设置是指从顶部栏设置手机,我在应用程序上方打开的所有内容都会出现这种情况,当我关闭应用程序时,我的视频视图为黑色。你需要在暂停时设置当前位置,然后从新位置开始恢复。我也有同样的问题,请使用mediaPlayer而不是从顶部栏设置手机的设置,我在应用程序上方打开的所有内容都会出现这种情况,当我关闭应用程序时,我的视频视图是黑色的。你需要将当前位置设置为onPause,然后从onResume开始使用新位置。我也有同样的问题,请改用mediaPlayer