Android – Воспроизведение MP4

Я пытаюсь воспроизвести видеофайлы с URL-адресов http в своем приложении. Почему мое приложение воспроизводит только определенные файлы mp4 (я пробовал 512k mp4, и это сработало), а некоторые другие не воспроизводит?

Вот фрагмент моего кода:

    mVideoView.setVideoPath(myVideoURL);
    mVideoView.setMediaController(new MediaController(this));
    mVideoView.seekTo(currentPosition);
    mVideoView.requestFocus(); 

Спасибо Крис


person Chris    schedule 26.05.2010    source источник
comment
Я хотел бы, чтобы мое приложение было универсальным, чтобы оно могло воспроизводить как можно больше различных типов видеофайлов, независимо от размера или кодировки. В основном я хочу воспроизводить файлы mp4 и 3gp, буфер/без буфера, поток/без потока и т. д. Какими другими способами можно добиться этого, кроме VideoView?   -  person Chris    schedule 27.05.2010


Ответы (1)


Убедитесь, что ваши mp4 не защищены DRM и что их ширина не превышает 320 пикселей (videoView не будет масштабировать их для вас). Вы получаете какие-либо полезные ошибки в LogCat?

person Nick Bastin    schedule 26.05.2010
comment
Вот что показывает мне LogCat: 05-25 21:50:50.498: ERROR/QCOmxcore(51): OMXCORE API: Free Handle fc87c 05-25 21:50:50.498: ERROR/QCOmxcore(51): выгрузка динамической библиотеки для OMX .qcom.video.decoder.avc 05-25 21:50:50.508: ERROR/PlayerDriver(51): команда PLAYER_PREPARE завершена с ошибкой или информацией PVMFErrNoResources 05-25 21:50:50.508: ERROR/MediaPlayer(15981): ошибка (1, -15) 05-25 21:50:50.508: ОШИБКА/MediaPlayer(15981): Ошибка (1,-15) Как убедиться, что ширина VideoView установлена ​​на 320 пикселей? - person Chris; 26.05.2010
comment
Это не вопрос установки ширины VideoView (она автоматически определяется контейнером, в котором он находится) - фактическая ширина видео mp4 должна составлять 320 пикселей. Вы не можете воспроизводить видео шириной более 320 пикселей (вероятно, вы можете воспроизводить видео меньшего размера, я не уверен) - person Nick Bastin; 26.05.2010
comment
Так что нет возможности воспроизводить видео размером более 320 пикселей на андроиде? - person Chris; 26.05.2010
comment
Не с VideoView (по крайней мере, на данный момент - вы должны понять, что это оплошность). Это особенно раздражает сейчас, когда некоторые телефоны Android имеют экраны шириной более 320 пикселей. В 2.1/2.2/2.x могут быть или не быть некоторые новые вещи, с которыми вы могли бы покопаться, но VideoView в основном не изменился с версии 1.5. - person Nick Bastin; 26.05.2010
comment
Я хотел бы, чтобы мое приложение было универсальным, чтобы оно могло воспроизводить как можно больше различных типов видеофайлов, независимо от размера или кодировки. В основном я хочу воспроизводить файлы mp4 и 3gp, буфер/без буфера, поток/без потока и т. д. Какими другими способами можно добиться этого, кроме VideoView? - person Chris; 27.05.2010
comment
К сожалению, я не знаю ни одного, но, по общему признанию, видео не является моей целью. Возможно, если вы погуглите или просмотрите документы Android, вы можете найти какой-нибудь другой API или библиотеку, которая делает видео. - person Nick Bastin; 28.05.2010