Mam problem ze znalezieniem sposobu na utrzymanie MediaController na ekranie podczas korzystania z VideoView. Chcę odtwarzać plik audio, który znajduje się w res/raw w mojej aplikacji. Plik jest odtwarzany, ale chciałbym zachować kontroler na ekranie, aby użytkownik mógł zobaczyć długość pliku i ile czasu pozostało do końca itd. Znalazłem wiele czasu na forach, że powinniśmy użyć metody .show (czas), aby to zrobić, ale nie mogę wymyślić, jak to zrobić.Przechowywanie MediaController na ekranie w VideoView
Oto kod używam:
package com.sample.VideoViewExample;
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.widget.MediaController;
import android.widget.VideoView;
public class VideoViewExample extends Activity implements SurfaceHolder.Callback{
private VideoView mVideoView;
private MediaController mMedia;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
mVideoView = (VideoView) findViewById(R.id.surface_view);
//mVideoView.getHolder().addCallback(this);
//mMedia.show(50000);
//mVideoView.setMediaController(mMedia);
MediaController mMedia = new MediaController(this);
mMedia.setMediaPlayer(mVideoView);
mMedia.setAnchorView(mVideoView);
mVideoView.setMediaController(mMedia);
mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.osa_patient));
mVideoView.requestFocus();
mVideoView.start();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
mMedia.show(500000);
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
}
Kiedy dodać linię mVideoView.getHolder() addCallback (this);. błąd aplikacji, nie jestem pewien dlaczego.
Każda pomoc lub alternatywę dla tego, co chciałbym zrobić, to więcej niż mile widziane :)
Dzięki, JB
Czy mówisz, że VideoView będzie również odtwarzać pliki audio? –