2010-11-23 3 views
0

Я пытаюсь получить видео, чтобы всплывать и играть. Я могу заставить его работать, когда я использую первый URI (который комментировал в коде ниже), но когда я пытаюсь использовать второй URI (из ресурса), я получаю следующее сообщение об ошибке:Как воспроизвести видеофайл из ресурса?

 
ERROR/AndroidRuntime(1052): android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=android.resource://com.slamdunksoftware.presentation/2130968576 typ=video/* } 

Исследуя ошибку, похоже, что мне может потребоваться объявить действие в манифесте, но я не уверен, что это применимо здесь. Может ли кто-нибудь указать мне в правильном направлении?

Intent in = new Intent(Intent.ACTION_VIEW); 
//Uri uri = Uri.parse(Environment.getExternalStorageDirectory().toString() + "/page4a.m4v");   
Uri uri = Uri.parse("android.resource://com.slamdunksoftware.presentation/" + R.raw.page4a); 

in.setDataAndType(uri, "video/*"); 
startActivity(in); 
+0

Вы можете перефразировать это как «Как я могу воспроизвести видеофайл из ресурса?» Исключение ActivityNotFound - это немного красная селедка. – 2010-11-23 20:22:39

ответ

1

Нет, вам не нужно декларировать что-либо в вашем манифесте. Вы только объявляете свой собственный Activities в файле манифеста. В приведенном выше примере вы пытаетесь воспроизвести видео и полагаться на ОС, чтобы предоставить программу для этого. Как вы только что испытали, не все устройства (или эмуляторы) имеют приложение для воспроизведения видео. Таким образом, лучшее, что вы можете сделать здесь создавать свои собственные Activity играть видео:

How to play video and audio on Android

+0

Спасибо за быстрый ответ. Любые идеи, почему это будет работать в первом случае (прокомментированный uri), но не во втором? – Dittimon 2010-11-23 20:32:10

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