0
我正在嘗試使一個VideoView
工作在cocos2d-x表面視圖之上。我現在能夠加載並使用下面的代碼片段播放視頻:在Cocos2dxGLSurfaceView之上添加一個LinearLayout
當初始化類:
// Create the LinearLayout that will contain our VideoView
_videoLayout = new LinearLayout(_activity);
_videoLayout.setId(VIDEO_VIEW_ID);
_videoLayout.setGravity(Gravity.CENTER);
_videoLayout.setBackgroundColor(Color.BLACK);
_videoLayout.setOrientation(LinearLayout.VERTICAL);
_videoLayout.bringToFront();
// Add the LinearLayout to the current Activity
_activity = MyGame.getCocosActivity();
_activity.addContentView(_videoLayout, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
當播放視頻:
// When the video is ready to be played, create a VideoView
VideoView videoView = new VideoView(Cocos2dxActivity.getContext());
videoView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
// Add it to the _videoLayout object
LinearLayout layout = (LinearLayout) activity.findViewById(VIDEO_VIEW_ID);
layout.setVisibility(View.VISIBLE);
layout.addView(videoView);
// Play the video
videoView.setVideoURI(Uri.parse(path));
videoView.requestFocus();
videoView.start();
上面的代碼產生了以下結果:
- 播放視頻並正常聽到聲音。
- 視頻水平和垂直居中。
- 有時候,視頻在當前Cocos2d-x視圖下播放。再次播放它將使它在上面播放。
- 視頻不是全屏。它只在屏幕上覆蓋足夠的空間來顯示視頻。
什麼我的預期結果是:
- 視頻播放上的cocos2d-x觀點之上,在任何時候。
- 視頻佔用了整個屏幕,仍然保持縱橫比,但邊上有黑色邊框。
我似乎無法弄清楚如何完成這兩個。任何幫助?我對Android Framework不太瞭解,請耐心等待。
注意:我不想使用XML來創建佈局。
cocos2d-x庫不使用XML佈局。我會嘗試使用RelativeLayout,並在完成後再回來。 – alxcyl
的確如此。但它不會阻止你添加一個:) – Losiowaty