MediaController定位

时间:2011-06-28 18:27:13

标签: android android-videoview mediacontroller

我使用VideoView显示播放本地mp4,我也使用MediaController。媒体控制栏未显示在我的视频剪辑下方,而是显示在屏幕中间。我使用setAnchorView将它附加到我的videoView,但没有任何影响。我如何定位我的mediacontroller直接在我的视频下?

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 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

尝试:

ctrl.setPadding(x, y, z, w)

答案 2 :(得分: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>

然后使用Layout Params

添加MediaController
  • layout_width:fill_parent
  • layout_height:wrap_content
  • layout_weight:0

希望这有帮助!

答案 3 :(得分:0)

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