Я действительно ударился головой о стол, пытаясь заставить класс 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.
Тот же код отлично работает в Froyo (2.2). Сами видео отлично воспроизводятся в приложении для видеоплеера. Есть ли у кого-нибудь полезный намек, который может помочь решить эту проблему?
Изменить. По-прежнему нет решения - очень неприятная проблема. Однако я обнаружил, что создав VideoView и установив URI для необработанного видео. Это очень озадачивает, так как отправка этого же URI через класс MediaPlayer будет бросаться.

