gpt4 book ai didi

android - 如何创建像 youtube "small screen and full screen play in android "这样的视频 View

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:58 26 4
gpt4 key购买 nike

我想开发类似 Youtube 的 Activity 或 fragment 。

“当用户单击列表中的视频时,它开始在小视频 View 中播放,例如高度 = 200dp 和宽度 = 300dp(例如),我想通过使用 User can play same video in full 在 MediaPlayer Controller 上显示全屏按钮影响视频播放的屏幕。

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

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

我想以小尺寸和全屏显示视频。我怎样才能做到这一点在图像中,您可以在视频 Controller 中看到全屏按钮,我想这样做。

感谢任何帮助

谢谢enter image description here

最佳答案

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

  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);

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

1) 这是自定义媒体 Controller 链接 Custom media controller

2)扩展媒体 Controller 并设置 anchor 标签 set anchor tag

  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);

}
});
}

关于android - 如何创建像 youtube "small screen and full screen play in android "这样的视频 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18761214/

26 4 0