Android - Media-controller wird nicht angezeigt
Habe ich ein videoView, wo ich ein video zeige, und ich möchte zeigen den Standard-media-Controller. Für einige Grund, der Controller scheint das nicht zu wollen, sich zu zeigen.
Ich habe versucht das erstellen der MediaController mit xml, Einstellung es werden immer sichtbar, Befestigung an der media-player mit mMediaController.setMediaPlayer(mVideoView)
aber nichts scheint zu funktionieren.
Ich bin mit den klassischen video-player-code von Google finden Sie hier: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video.html
Was kann passiert sein ? Hat die Zuhörer verlieren die Veranstaltung ? Ist es nicht an die eigentlichen video-Spiele ? Sollte ich noch etwas hinzufügen, der code, den ich verwende (siehe unten) ?
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();
}
Irgendwelche Ideen würde sehr geschätzt werden ?
Es ist kein Thema, angewendet auf die Aktivität und das video spielt normal ohne irgendwelche Fehler. Es ist nur so, dass die Medien controlos nicht zeigen !
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach dem Versuch alles, was ich konnte, Sie den folgenden code für mich gearbeitet!
Wo Sie fügen Sie Ihre controller, um ein layout ? Auch werden Sie sicher, dass der Behälter groß genug ist. Geben Sie einen hintergrund und schauen ob es gut wird auf dem Bildschirm, bevor Sie den video-controller.
Ich bin mir nicht sicher, diese Antwort ist ein wenig spät, aber vielleicht hat jemand anderes das problem. Die doku sagt der fellowing:
So, Sie können es tun, wie dies (der MediaPlayer ist ein VideoView in diesem Fall:
Dieser arbeitete für mich.