gpt4 book ai didi

使用 VideoView 显示视频时的 android-black 屏幕

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:18 25 4
gpt4 key购买 nike

这是我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" >

<VideoView
android:id="@+id/geoloc_anim"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="top|center"
android:visibility="visible" />

<FrameLayout
android:id="@+id/placeholder"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
</FrameLayout>

</LinearLayout>

这是我的 Activity 代码:

public class MainActivity extends ActionBarActivity implements OnPreparedListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();
VideoView mVideoView = (VideoView) findViewById(R.id.videoview);
Uri uri = Uri.parse("android.resource://" + getPackageName()+"/raw/lst2");
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.setZOrderOnTop(true);
mVideoView.start();

}

@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
View placeholder = (View) findViewById(R.id.placeholder);
if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
// video started; hide the placeholder.
placeholder.setVisibility(View.GONE);
return true;
}
return false;
}
});
}

public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
}

public void surfaceCreated(SurfaceHolder holder) {
}

public void surfaceDestroyed(SurfaceHolder holder) {
}

}

它在 android 4.2 上运行良好,但在 android 2.3 上运行不正常。在 android 2.3 上,第一次打开它可以找到,但是当关闭应用程序并再次打开它时,出现黑屏,如下所示: enter image description here

大约一分钟后,它从黑屏变为白屏,但仍然没有播放。

你能帮我解决这个问题吗?

最佳答案

很晚才回答。但它肯定对任何人都有帮助。

在 start() 之前设置 videoView.setZOrderOnTop(true)

https://developer.android.com/reference/android/view/SurfaceView.html#setZOrderOnTop(boolean)

    videoView.setVideoURI(Uri.parse(uriString));
videoView.setZOrderOnTop(true);//this line solve the problem
videoView.start();

关于使用 VideoView 显示视频时的 android-black 屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28577704/

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