2014-02-21 4 views
3

Я получаю ошибку при воспроизведении видео из папки с ресурсами и папки с исходными текстами.
Ошибка MediaPlayer (1, -2147483648) Ошибка VideoView 1, -2147483648.android videoview error 1, -2147483648

Я попробовал из папки с ресурсами как.

private String SrcPath = "file:///android_asset/aaa.mp4"; //also tried aaaa.mp3 
VideoView vv = (VideoView)findViewById(R.id.videoView1); 
vv.setVideoPath(SrcPath); 
MediaController controller = new MediaController(this); 
controller.setAnchorView(vv); 
vv.setMediaController(controller); 
vv.requestFocus(); 
vv.start(); 

и сырой папку я использовал URI как:

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4"); 
vv.setVideoURI(video); 

я получил то же самое сообщение об ошибке в обеих случаях.

+0

Обычно эта ошибка означает, что устройство не поддерживает формат видео вы играете. – Kedarnath

+0

Я запускаю свое приложение на AVD, и я пробовал по 5-6 AVD разных конфигураций, все же ошибка была такой же. Можем ли мы воспроизводить видео на виртуальных устройствах? –

+0

Ах ...... теперь попробуйте в реальном устройстве. Обычно вы не получаете эту ошибку в реальном устройстве, если вы не используете какой-либо неизвестный формат. – Kedarnath

ответ

1

Я нашел решение, поскольку я могу воспроизводить видео на виртуальном устройстве.

я заменил линию

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/aaa.mp4"); 

с

Uri video = Uri.parse("android.resource://com.usecontentprovider/raw/"+R.raw.aaa); 

И его работы

+1

как можно играть с url – Prasad

+1

так как же R.raw.aaa отличается от aaa.mp4? – hariszaman

+0

@hariszaman 'R.raw.aaa' - идентификатор ресурса (int), а строка с' aaa.mp4' - это строка. – zundi

1

Вы можете использовать программное обеспечение, например avinaptic2, для получения информации о кодировании видео и убедитесь, что оно соответствует supported media formats in android.

Общей проблемой, которую я нахожу, является то, что видео кодируются с неправильным профилированием. Видео H.264 необходимо кодировать с базовым уровнем 3 или ниже для воспроизведения без ошибок или артефактов в Android.

0

Использование R.raw работает нормально, но в некоторых случаях, я все еще получаю ту же ошибку. К счастью, я нашел решение своей проблемы: мне пришлось позвонить videoView.start() внутри onPrepare().

Вы можете проверить правильный ответ здесь: Android: 'Can't play this video'; MediaPlayer & VideoView Error 1 -38

Смежные вопросы