我有一個videoView,我顯示一個視頻,我想顯示默認媒體控制器。出於某種原因,控制器似乎不想出現。Android - 媒體控制器不顯示
我曾嘗試使用XML創建的MediaController,將其設定爲始終可見,它與mMediaController.setMediaPlayer(mVideoView)
連接到媒體播放器,但似乎沒有任何工作。
我使用從谷歌經典視頻播放器代碼可以在這裏找到:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video.html
什麼能發生?聽衆是否失去了這個事件?它沒有附加到實際的視頻播放?我應該添加一些其他的代碼,我正在使用(見下文)?
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.activity_content_video);
[...]
mVideoView = (VideoView) findViewById(R.id.surface);
mainVideoHolder = (LinearLayout) findViewById(R.id.main_video_holder);
holder = mVideoView.getHolder();
holder.addCallback(this);
mMediaController = new MediaController(this);
mMediaController.show();
}
private void playVideo() {
doCleanUp();
try {
mMediaPlayer = new MediaPlayer();
Log.d(tag, "surfaceCreated");
File f = new File(mAssetsPath);
File[] files = f.listFiles();
Log.d(tag, "File: " + files[0].toString());
URI uri = URI.create("file://" + (files[0].toString()));
File file = new File(uri);
ParcelFileDescriptor parcel = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE);
mMediaPlayer.setDataSource(parcel.getFileDescriptor());
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaController.setMediaPlayer(mVideoView);
mVideoView.setMediaController(mMediaController);
} catch (Exception e) {
Log.e(tag, "error: " + e.getMessage(), e);
}
}
public void surfaceCreated(SurfaceHolder holder) {
Log.d(tag, "surfaceCreated called");
playVideo();
}
任何想法將不勝感激?
在活動中沒有應用主題,並且視頻通常沒有任何錯誤地播放。這只是媒體控制器不顯示!
謝謝。
我將它添加到相對佈局的底部videoView是在,我有紅色背景,所以它儘可能可見。雖然在這個地區沒有出現。有沒有人有手動添加媒體控制器的工作示例?也許活動必須是特定的?或者視頻正在發生什麼,它總是在媒體控制器的前面? – 2012-02-02 10:16:22