我完全沉迷於某些我認爲會是最簡單的事情。我試圖在一個相對佈局的框架內播放視頻。在屏幕的一部分上播放視頻
請注意,該應用程序旨在以橫向模式在非常特定的設備(愛可視101互聯網標籤)上運行,並且這些視頻預先編碼的尺寸爲480x360,這就是爲什麼佈局有一些固定大小。
這裏是佈局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Background -->
<ImageView
android:layout_width="980dp"
android:layout_height="568dp"
android:src="@drawable/bg_video" />
<TextView
android:id="@+id/video_headtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="73dp"
android:layout_marginLeft="255dp"
android:textColor="#FFFFFF"
android:textSize="16dp" />
<TextView
android:id="@+id/video_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:layout_centerHorizontal="true"
android:layout_marginTop="112dp" />
<VideoView
android:id="@+id/video_videocontainer"
android:layout_width="480dp"
android:layout_height="360dp"
android:layout_below="@id/video_title"
android:layout_marginTop="10dp"
android:layout_centerHorizontal="true" />
</RelativeLayout>
我使用此代碼
player = (VideoPlayer) findViewById(R.id.video_videocontainer);
player.setVideoURI(videoUri);
代碼工作加載視頻,但同時videoView是正確的框架內,視頻本身的某處起屏幕頂部,只有一部分顯示在VideoView中。
舉例發生什麼here(這只是一個用於調試的臨時視頻)。 同一時刻視頻的屏幕截圖here。
正如您所看到的,VideoView只顯示部分視頻,其餘部分用黑色填充。
我很確定我錯過了一件非常簡單的事情,但我無法弄清楚什麼。
在此先感謝。
編輯:我曾嘗試寫擴展VideoView和覆蓋onMeasure這樣
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
setMeasuredDimension(480, 360);
}
public void changeVideoSize()
{
getHolder().setFixedSize(480, 360);
requestLayout();
invalidate();
}
一個VideoPlayer類,但它並不能幫助一個位。
編輯2:嘗試使用SurfaceView和MediaPlayer,結果相同。我有一種感覺,我不明白在Android上播放視頻的原理。在這裏很困難。
編輯3:我試過三星Galaxy HD,視頻在框架內正確顯示。我想知道這是平板電腦的問題,還是2.2?
編輯4:在2.2下運行的AVD不能正確渲染視頻。 AVD正在運行4.1。我想這會讓它縮小一點。
我已經重寫一切videoview,現在我面對一些真正怪異。視頻在SurfaceView之外播放,就像使用VideoView一樣。只有它不會被裁剪,並顯示在一切之上。即使當我使用'setDisplay(null)',視頻仍然顯示! –
是否已經實現了曲面支架回調並鏈接了它的事件? – petrumo
在跟隨您的領先後,我設法讓視頻更好地定位。這並不是最佳的,我仍然不敢相信在視圖中放置視頻是如此困難,但現在它仍然有效。謝謝! –