Я действительно ударился головой о стол, пытаясь заставить класс MediaPlayer попытаться воспроизводить видео в формате h.264 на Android 2.1.Мой код довольно прост:
AssetFileDescriptor fileDescriptor = getResources().openRawResourceFd(R.raw.my_movie);
introMoviePlayer = new MediaPlayer();
introMoviePlayer.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getDeclaredLength());
introMoviePlayer.prepare();
Это всегда вызывает исключение в prepare()
с текстом java.io.IOException: Prepare failed.: status=0x1
.Я получил немного больше информации, используя MediaPlayer.create()
с URI, который также выдает prepare()
, который на самом деле вызывается MediaPlayer.create()
, с сообщением Command PLAYER_PREPARE completed with an error or info PVMFErrResourceConfiguration
.
Тот же код работает отличново Фройо (2.2).Сами видео хорошо воспроизводятся в приложении видеоплеера.У кого-нибудь есть, возможно, полезный совет, который может помочь решить эту проблему?
Редактировать : Все еще нет решения - действительно очень неприятная проблема.Тем не менее, я обнаружил, что путем создания VideoView
и установки URI для необработанного видео работает.Это очень озадачивает, поскольку отправка точно такого же URI через класс MediaPlayer приведет к ошибке.