Я использовал следующий код для воспроизведения видео с прогрессивной разверткой.
path = "http://www.languagehostess.com/videos/aka1.mp4";
Uri myUri = Uri.parse(path);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(this,myUri);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
Изначально он выдавал ошибку PVMFErrContentInvalidForProgressivePlayback
.Чтобы решить эту проблему, я использую MP4Box with "hint for rtp/rtsp"
и смешиваю ее для решения проблемы moov/mdat
.Когда я загружаю новый мультиплексированный файл и пытаюсь его воспроизвести, он выдает ошибку PVMFErrResourceConfiguration
.В чем проблема в моем коде или видео?
Дополнение: эта проблема возникает в Android 2.1, но в Android 2.2 она работает нормально.Разве Android 2.1 не поддерживает прогрессивное видео MP4?