VideoView で MediaController を使用するときに、MediaController を画面に表示し続ける方法を見つけるのに苦労しています。アプリで res/raw にあるオーディオ ファイルを再生したいと考えています。ファイルは再生中ですが、ユーザーがファイルの長さや終了までの残り時間を確認できるように、コントローラーを画面に表示したままにしたいと思います。 (時間)それを行うために、しかし、私はそれを機能させる方法を理解できません.
私が使用しているコードは次のとおりです。
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
}
}
行 mVideoView.getHolder().addCallback(this); を追加すると アプリのバグ、理由はわかりません。
私がやりたいことに対する助けや代替手段は大歓迎です:)
ありがとう、JB