gpt4 book ai didi

对话框中的 Android 媒体 Controller

转载 作者:行者123 更新时间:2023-11-29 17:49:42 27 4
gpt4 key购买 nike

我在对话框中显示一个 VideoView 并向其附加一个媒体控件。

但是当我尝试点击媒体控件(播放、搜索栏等)时,对话框会消失。

媒体控制按钮不会被点击,而是将点击注册为 Dialog 的 OutsideTouch。

谁能帮我解决这个问题?

我真正想要实现的是:

1) 在背景模糊的弹出窗口中显示视频。2) 检测 VideoView 外的任何点击并弹出“取消??”给用户的消息。

最佳答案

对话框布局如下所示,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<VideoView
android:id="@+id/videoview"
android:layout_width="640dp"
android:layout_height="400dp"
android:layout_centerInParent="true" >
</VideoView>

<FrameLayout
android:id="@+id/videoViewWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
</FrameLayout>

</RelativeLayout>

在您的 Dilalog Frgament 中创建一个 videoview 的实例,

mVideoView = (VideoView) view.findViewById(R.id.videoview);

接下来从本地设置视频 uri 或使用视频 url 播放,之后,使用 setOnPreparedListener 监听器并设置媒体 Controller ,

mVideoView.setOnPreparedListener(new OnPreparedListener() {

@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp,
int width, int height) {
/*
* add media controller
*/
mc = new MediaController(MainActivity.this);
mVideoView.setMediaController(mc);
/*
* and set its position on screen
*/
mc.setAnchorView(mVideoView);

((ViewGroup) mc.getParent()).removeView(mc);

((FrameLayout) findViewById(R.id.videoViewWrapper))
.addView(mc);
mc.setVisibility(View.VISIBLE);
}
});
mVideoView.start();
}
});

关于对话框中的 Android 媒体 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23843790/

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