Android的WebView中的视频播放声音,但没有带有hardwareAccelerated = true的图像

问题描述 投票:0回答:1

我正在尝试在Android的WebView中播放HTML5文件中的视频。我已尝试过这里提供的几种解决方案,例如将视频编码为H.264,但到目前为止,我只听到没有图像的视频声音。

码:

    webView.setWebChromeClient(new WebChromeClient());
    settings.setJavaScriptEnabled(true);
    settings.setPluginState(WebSettings.PluginState.ON);
    settings.setLoadWithOverviewMode(true);
    settings.setUseWideViewPort(true);

    String data = "index.html";
    webView.loadUrl(data);

    webView.setBackgroundColor(Color.TRANSPARENT);
    webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
    webView.clearCache(true);

表现:

 <application
    android:hardwareAccelerated="true"

感谢任何帮助,谢谢。

android html5 video webview playback
1个回答
0
投票

实例化webview以便它能够在大多数现代Android设备上播放视频/音频我使用以下Java代码。当在清单中使用hardwareAccelerated时,这允许格式良好的HTML和适当编码的视频内容可靠地播放。

package com.offbeatmammal.android.webview;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.RelativeLayout;

public class WebViewActivity extends Activity {

private WebView webView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);

    webView.setWebChromeClient(new WebChromeClient()); 
    webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
    webView.getSettings().setJavaScriptEnabled(true);

    // load the customURL with the URL of the page you want to display
    String pageURL = "http://url/page.html";
    webView.loadUrl(pageURL);

    //String customHtml = "<html><head><title>Sample</title></head><body><p>Sample</p></body></html>";
    //webView.loadData(customHtml, "text/html", "UTF-8");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.