Android: webview для запуска SWF, который воспроизводит FLV.

#android #webview #flash #netstream

#Android #webview #flash #netstream

Вопрос:

Работаю над тем, чтобы заставить flash-проект воспроизводиться из локального приложения / папки на планшете Samsung Galaxy 10.1. проект в основном представляет собой flash-файл, который ссылается на xml для списка воспроизведения, который содержит ссылки на другие swf-файлы или flv-видео, которые хранятся во вложенной папке активов.

Используя video, NetConnection и NetStream для воспроизведения FLV-файлов, на мгновение попробовал FLVPlayback, но без insta-исправления.

Проект был встроен в html и отлично работает на компьютерах, на которых он используется, как на локальном, так и на сервере. Он «работает» с веб-сайта на приложение, но становится громоздким, и Интернет не будет доступен, когда эти пэды используются.

(Но я думаю, важно отметить, что воспроизведение flv-файлов РАБОТАЕТ из Интернета на планшете, поэтому я предполагаю, что ответ на мои проблемы может заключаться в каком-то ограничении разрешений, о котором я не знаю.)

Мне повезло с приложением, в котором webview просто загружает основной swf:

 WebView wv = new WebView(this);
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginsEnabled(true);
wv.loadUrl("file:///android_asset/DemoV6/main.swf");
setContentView(wv);
  

Он успешно загружает SWF-файлы из списка воспроизведения и воспроизводит их, но как только он попадает на FLV
-файлы, NetStream выдает NetStream.Play.StreamNotFound:[object NetStream] , и с небольшим количеством ошибок NetConnection выдает NetConnection.Connect.Closed:[object NetConnection]

[ tl / dr: (Android3.1 / galaxy 10.1) -> swf -> flv == проблема]

Итак, вопрос в том, что мне нужно изменить / добавить, чтобы сделать этот SWF, который воспроизводит FLV-файлы, который отлично воспроизводится из Интернета, но не открывает FLV-файлы из локального приложения? (Кроме того, я подозреваю, что мне нужно позже сохранить FLV-файлы извне, чтобы уменьшить размер приложения, но это другая загадка)

Ответ №1:

Нашел способ обойти это. Попытка встроить FLV-файлы в папку assets для компиляции, по-видимому, была не лучшим способом для начала. загрузка файлов извне дала мне желаемый результат.

 if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
    Log.d(TAG, "No SDCARD");
} else {
    webView.loadUrl("file://" Environment.getExternalStorageDirectory() "/Folder/main.swf");
}