【问题标题】:VideoView Completion Listener inside a dialog box in AndroidAndroid中对话框内的VideoView完成侦听器
【发布时间】:2015-05-05 15:51:20
【问题描述】:

我想在 videoview 中播放一个视频文件,该文件显示在一个对话框中,完成后对话框应该关闭。我阅读了有关通过媒体控制器执行此操作的信息,因此我有以下内容:

final Dialog dialog = new Dialog(MyActivity.this);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.MyCustomLayoutWithVideoView);
    dialog.show();
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
    WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
    lp.copyFrom(dialog.getWindow().getAttributes());
    dialog.getWindow().setAttributes(lp);
    final VideoView videoview = (VideoView) dialog.findViewById(R.id.videoView);
    Uri uri = Uri.parse(SoundFile);

    **MediaController mc = new MediaController(this);
    videoview.setMediaController(mc);**

        videoview.start();

    videoview.setVideoURI(uri);
    videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) 
{
Toast.makeText(getApplicationContext(), "Msg", Toast.LENGTH_LONG).show();
        }
    });

1) 声明 mediacontroller 的部分错误.. 无法获取上下文,上下文是什么?

2) 如何根据最大高度和重量控制此对话框的大小?

【问题讨论】:

    标签: android dialog android-videoview


    【解决方案1】:

    您必须使用 getApplicationContext() 来获取上下文。上下文表示环境数据。看这里:What is Context in Android?

    【讨论】:

    • 我输入了 MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoview); videoview.setMediaController(mediaController);它正在工作..这是一样的!?!对话框的大小如何
    • 为了改变大小,你可以设置MyCustomLayoutWithVideoView xml父布局的de maxWidth, maxHeight
    猜你喜欢
    • 2021-11-04
    • 1970-01-01
    • 2021-12-18
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 2011-11-30
    • 2022-11-09
    相关资源
    最近更新 更多