0

私はビデオを再生するためのアプリケーションを開発しました..ビデオを再生するためのコードはここにあります..

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.videoview);
    Intent i = getIntent();
    Bundle extras = i.getExtras();
    filename = extras.getString("videofilename");
    mVideoView = (VideoView)findViewById(R.id.videoview);

    path=filename;
    if (path == "") {
        // Tell the user to provide a media file URL/path.
        Toast.makeText(
                ViewVideo.this,
                "Please edit VideoViewDemo Activity, and set path"
                        + " variable to your media file URL/path",
                Toast.LENGTH_LONG).show();

    } else {

          mVideoView.setVideoPath(path);
          mc = new MediaController(this);
          mVideoView.setMediaController(mc);
          mVideoView.requestFocus();
          mVideoView.bringToFront();
          mVideoView.start();

    }
}

これがxmlコードです

 <?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent"
           android:layout_height="fill_parent" >
   <VideoView android:id="@+id/videoview"
             android:layout_width="fill_parent"
             android:layout_alignParentRight="true"
             android:layout_alignParentLeft="true"
             android:layout_alignParentTop="true"
             android:layout_alignParentBottom="true"
             android:layout_height="fill_parent">
       </VideoView>
       </RelativeLayout>

問題は、ワイドスクリーンの16:9ビデオを再生しようとしたときです。フルスクリーンで表示され、文字が絞り込まれたように見えます。マット(ビデオの上下にある2本の水平の黒いバー)を使用してワイドスクリーン形式で再生する必要があります。何か提案がありますか??

4

2 に答える 2

1

垂直linearLayoutでMediaViewerを使用してみてください。

このようなもの(頭のてっぺんから離れているので、暗黙のうちに信頼しないでください):

<LinearLayout android:layout_height="match_parent" 
    android:layout_width="match_parent" android:weightSum="9"
    android:orientation="vertical">
    <VideoView android:layout_height="0dp" android:layout_width="0dp"
        android:layout_weight="6" />
</LinearLayout>

これは、画面の垂直領域の2/3を占めるはずです。

必要に応じて、weightSumとlayout_weightを調整します。

お役に立てれば!

于 2011-08-10T17:02:44.233 に答える
1

これが関連する質問です。

を使用して、ビデオを画面の4つの側面すべてに揃えるように強制しているようです。

android:layout_alignParentRight="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"

これは、ビデオのアスペクト比を捨てています。代わりに、LinearLayoutに配置してみてください。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center">

    <VideoView android:id="@+id/videoview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

</LinearLayout>
于 2011-08-10T17:04:07.790 に答える