Доступ к файлам mp4 из файлов расширения Android

Найдено похожее, но, похоже, никто не отвечает на это

Я ссылался на это блог для моего развития. Я мог без проблем воспроизводить видео в формате mp4, когда они были в R.raw. Когда я переместил их в файлы расширения, у меня возникли проблемы с воспроизведением.

Может ли кто-нибудь сказать мне, что мне здесь не хватает?

Логкат:

05-08 18:45:23.602: E/MediaPlayer(11452): prepareAsync called in state 1
05-08 18:45:23.602: W/dalvikvm(11452): threadid=1: thread exiting with uncaught exception (group=0×41172390)
05-08 18:45:23.622: E/AndroidRuntime(11452): FATAL EXCEPTION: main
05-08 18:45:23.622: E/AndroidRuntime(11452): java.lang.IllegalStateException
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.media.MediaPlayer._prepareAsync(Native Method)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.media.MediaPlayer.prepareAsync(MediaPlayer.java:1283)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.widget.VideoView.openVideo(VideoView.java:239)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.widget.VideoView.setVideoURI(VideoView.java:197)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.widget.VideoView.setVideoURI(VideoView.java:187)
05-08 18:45:23.622: E/AndroidRuntime(11452): at rmm.android.app.VideoPlayerActivity.playVideo(VideoPlayerActivity.java:307)
05-08 18:45:23.622: E/AndroidRuntime(11452): at rmm.android.app.VideoPlayerActivity.onClick(VideoPlayerActivity.java:475)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.view.View.performClick(View.java:4102)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.view.View$PerformClick.run(View.java:17085)
05-08 18:45:23.622: E/AndroidRuntime(11452): at android.os.Handler.handleCallback(Handler.java:615)

заранее спасибо

Удачного кодирования!


person rahul    schedule 09.05.2013    source источник


Ответы (1)


Проблема была с файлом .obb. После долгих просмотров и проб я нашел реальную причину этого Exception.

Что я делал:

  1. Создайте zip-файл, щелкнув папку с видео (опция «Сжатие», когда вы щелкните правой кнопкой мыши папку в Ubuntu)
  2. Переименуйте файл .zip в .obb.
  3. Переместите этот файл obb в папку mnt/sdcard/Android/obb/package_name_folder.

Что я должен был делать:

  1. Создайте файл .obb с помощью инструмента Jobb из инструмента Android (Android/tools/ работаб)
  2. Повторите шаг 3
  3. Сделанный !

Создание файла .obb: $ jobb -d /temp/assets/ -o my-app-assets.obb -k secret-key -pn com.my.app.package -pv 11

И, наконец, используйте ObbExpansionsManager. для доступа к файлам

person rahul    schedule 10.05.2013
comment
Поздравляю, чувак, ты сделал это @rahul - person Cjames; 10.05.2013
comment
другой способ, которым вы могли бы подойти, - заархивировать .mp4, но попросить zip не сжимать mp4. Команда в терминале. zip -n .mp4 ‹zipfile› ‹filestozip› .. тогда mp4 не сжимаются и проигрываются нормально. - person josh527; 08.11.2013