12

我正在使用 VideoView 来显示播放本地 mp4,并且我也在使用 MediaController。媒体控制栏未显示在我的视频剪辑下方,而是显示在屏幕中间。我使用 setAnchorView 将其附加到我的 videoView 但这没有影响。如何将我的媒体控制器定位在我的视频视图下?

public class VideoDemo extends Activity {
private VideoView video;
private MediaController ctlr;

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    getWindow().setFormat(PixelFormat.TRANSLUCENT);
    setContentView(R.layout.main);

    File clip=new File(Environment.getExternalStorageDirectory(),
                                         "test.mp4");

    if (clip.exists()) {
        video=(VideoView)findViewById(R.id.video);
        video.setVideoPath(clip.getAbsolutePath());

        ctlr=new MediaController(this, false);
        ctlr.setAnchorView(video);
        ctlr.setMediaPlayer(video);
        video.setMediaController(ctlr);
        video.requestFocus();
    }
}
}

我的布局是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="400dp"
    android:layout_height="400dp"
    android:background="#fff"
    >
<VideoView 
     android:id="@+id/video" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
</LinearLayout>
4

4 回答 4

1

要让平板电脑应用程序以全屏而不是中间显示媒体控制器,您需要在 AndroidManifest.xml 中放置一个 uses-sdk 行,并定位一个知道存在更高分辨率设备的 sdk 版本 -否则很多视图都限制在 480x320

编辑:我之前曾发布过添加uses-sdk的一些问题,导致倒带/暂停/前进显示下方没有进度滑块,但事实证明,在适用于android软主页/菜单/等的特定平板电脑上按钮栏只是覆盖了媒体控制器的下半部分。

于 2012-02-19T06:00:07.667 回答
1

尝试:

ctrl.setPadding(x, y, z, w)
于 2012-03-08T13:19:30.580 回答
0

我有一个解决方案,添加一个垂直布局,然后将视频视图放在该布局中,媒体控制器将出现在显示视频的布局底部。

于 2013-06-14T02:12:40.737 回答
0

你可以试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="400dp"
    android:layout_height="400dp"
    android:background="#fff"
    android:orientation="vertical" >

    <VideoView
        android:id="@+id/video"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>

然后使用作为布局参数添加 MediaController

  • 布局宽度:填充父
  • 布局高度:包装内容
  • 布局重量:0

希望这可以帮助!

于 2011-11-29T07:12:25.467 回答