видео не может воспроизводиться в веб-обозрении - PullRequest
0 голосов
/ 22 ноября 2011

Я поместил веб в веб-просмотр. Это видео в Интернете. Формат видео - mp4. Я поместил ресурс в файл "assets" проекта Android. Теперь я могу сканировать Интернет, но видео не могу play.When я использую этот код mWebView.loadUrl ("file: ///android_asset/demo/html/demo.html"); , видео не может воспроизводиться. Если я использую этот код, mWebView.loadUrl ("http://v.youku.com/v_playlist/f16642432o1p0.html");,the видео можно воспроизводить в Интернете. Файл demo.html можно открыть в IE9 и chrome.

    webview = (WebView) findViewById(R.id.webView);
    webSettings = webview.getSettings();

    webSettings.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS); 
    webSettings.setBuiltInZoomControls(true); 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setPluginState(PluginState.ON);
    webSettings.setPluginsEnabled(true);
    webSettings.setAllowFileAccess(true);

    webview.loadUrl("file:///android_asset/demo/html/demo.html");
    //webview.setWebChromeClient(new MyChromeClient());
    //webview.setWebViewClient(new MyWebClient());

1 Ответ

2 голосов
/ 30 ноября 2011

Предположим, что вы хотите воспроизвести любое встроенное видео, вам нужно сделать две вещи:

  1. В манифесте Android установите android:hardwareAccelerated="true":

    <application android:icon="@drawable/icon" android:label="@string/app_name" android:hardwareAccelerated="true">
    <activity android:name=".Activity"
        android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    

  2. Что вы уже сделали, в вашем основном наборе действий:

    WebSettings w = webView.getSettings();      
    w.setPluginState(PluginState.ON);
    

Для запуска необходимо активировать аппаратное ускорениена старых устройствах Android тоже, хотя эта опция появляется только в Android 3.0+.Полагаю, вам нужно было бы указать это где-то в коде для Android 1.0-2.3.3, но он отлично работает, если вы используете 3.0+.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...