こんばんは、次の問題があります。VideoViewで動画フォーマット*.3gpを再生したい。私はこのコードを使用しようとしました:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylay);
VideoView videoHolder = new VideoView(this);
videoHolder = (VideoView) findViewById(R.id.videoView1);
Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.asd);
videoHolder.setVideoURI(video);
videoHolder.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
mp.setLooping(true);
}
});
}
エミュレーターと HTC Desire S ではすべて正常に動作しています。しかし、中国のタブレット Onda V972 があり、毎回「ビデオの再生中にエラー」が発生します。
06-19 18:34:18.890: W/AudioSystem(25145): AudioFlinger server died!
06-19 18:34:18.890: W/IMediaDeathNotifier(25145): media server died
06-19 18:34:18.890: E/MediaPlayer(25145): error (100, 0)
06-19 18:34:18.890: E/MediaPlayer(25145): Error (100,0)
06-19 18:34:18.890: D/VideoView(25145): Error: 100,0
この問題を解決できるかどうか教えてください。どうもありがとう。ビデオファイルを VideoView にロードする別の方法があるのではないでしょうか?
更新 21.06:
タブレットのファームウェアを更新したところ、ビデオは再生されますが、ループしなくなりました。次のコードを試してみましたが、結果は同じです。HTC とエミュレーターはうまく機能していますが、タブレットはビデオをループしません。*.mp4 も試しましたが、すべて同じです:
VideoView videoHolder = new VideoView(this);
videoHolder = (VideoView) findViewById(R.id.videoView1);
// videoHolder.setMediaController(new MediaController(this));
Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.asd);
videoHolder.setVideoURI(video);
// setContentView(videoHolder);
videoHolder.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
mp.start();
}
});
videoHolder
.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.mp.seekTo(0);
mp.start();
}
});
問題は、すべてのデバイスでビデオをループさせるにはどうすればよいかということです。