4

我想开发像 Youtube 这样的活动或片段。

“当用户从列表中单击视频时,它开始在小视频视图中播放,例如高度 = 200dp 和宽度 = 300dp(例如),我想通过使用在 MediaPlayer 控制器上显示全屏按钮用户可以全屏播放相同的视频并产生效果视频播放。

我也想在当前播放的视频上显示相关的视频列表和评论所以我应该使用片段吗?如果是,任何示例。

我在谷歌上搜索这种视频播放但我没有找到它.. 有一些答案,比如在高度和宽度中使用填充父级......但我不想直接显示全屏。

我想以小尺寸和全屏显示视频。我该怎么做

任何帮助表示赞赏

谢谢在此处输入图像描述

4

2 回答 2

4

尝试创建小的视频表面或视频视图,并可以通过显示矩阵更改视图参数

  DisplayMetrics displaymetrics = new DisplayMetrics();
  getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
  int height = displaymetrics.heightPixels;
  int width = displaymetrics.widthPixels;

  android.widget.FrameLayout.LayoutParams params = (android.widget.FrameLayout.LayoutParams) videoSurface.getLayoutParams();
  params.width = width;
  params.height=height-80;// -80 for android controls
  params.setMargins(0, 0, 0, 50);

因此,要执行此代码,您可以创建自己的自定义媒体控制器,也可以通过扩展媒体控制器来使用设置锚点。

1)这是自定义媒体控制器链接 自定义媒体控制器

2)扩展媒体控制器并设置锚标签 设置锚标签

  public void setAnchorView(final View view) {
super.setAnchorView(view);

Button fullScreen = new Button(context);
fullScreen.setText("FullScreen");
Log.e("media controller","Set anchorView");
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(view.getWidth(), 0, 5, 20);
params.gravity =  Gravity.RIGHT;
addView(fullScreen, params);

fullScreen.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Log.e("media controller","full screen onclick");

        Intent i = new Intent("xyxyxyxhx");

        context.sendBroadcast(i);

    }
});
    }
于 2013-09-12T16:55:32.950 回答
2

您必须override setAnchorView在新的 java 类中扩展 Android 的 MediaController (android.widget.MediaController) 并向控制器添加额外的视图/按钮。做这样的事情

@Override 
 public void setAnchorView(View view) {
 super.setAnchorView(view);

 Button fullScreen = new Button(context);
 fullScreen.setText("FullScreen");
 FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
 params.gravity =  Gravity.RIGHT|Gravity.TOP;
 addView(fullScreen, params);
}

现在添加 clicklister 以查看

于 2013-09-12T10:44:21.803 回答