安卓Webview无法播放视频,jwembedder。

5
我有一个问题: 我正在一个Android 2.2(API 8)的示例项目中测试这个脚本。
当我在设备或模拟器上运行我的应用程序时,WebView 显示视频,但如果我点击播放,应用程序不会播放视频:视频变成全黑。
如果我将我的脚本放在服务器上的 .html 文件中,并从原生浏览器中打开它,在相同的智能手机上,视频会被加载并且可以播放!
我知道这个脚本使用 jwEmbedder 动态创建 html5 标签“video”。

我已经尝试了许多方法来解决问题,现在我不知道该怎么办。 我只想到我的 WebView 没有权限或能力启动本机视频应用程序,当我播放视频时...

SenapeLuz.java(主要活动)

public class SenapeLuz extends Activity {
    private WebView mWebView;
    final Activity activity = this;

    // private Button b;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_senape_luz);
        mWebView = (WebView) findViewById(R.id.webView1);
        mWebView.getSettings().setPluginsEnabled(true);
        mWebView.getSettings().setPluginState(PluginState.ON);
        mWebView.getSettings().setSupportMultipleWindows(true);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        mWebView.getSettings().setDomStorageEnabled(true);
        mWebView.setWebChromeClient(new WebChromeClient());

        mWebView.loadUrl("file:///android_asset/Senape.html");
    }
}

Senape.html(这个脚本)


<script type="text/javascript" src="http://platform.senape.tv/widget/video.action?v=1.0&key=ZD9L6ZHH5B60&rid=I95EE9HL0LNP"></script>

清单文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.prove.senape"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />

        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".SenapeLuz"
                android:label="@string/title_activity_senape_luz" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>

    </manifest>

有人可以帮我吗?

1个回答

3
我有几个问题想问你,为什么要使用webview来播放视频。我在这个教程中发现了一种将特定视频嵌入到webview中并提供一些控制播放的方法。
你是否必须从位置下载/播放视频?为什么不将视频包含在应用程序中?这个教程是我经常使用的教程之一,有很多其他的教程。
另一个问题是: html文件中还包含什么内容? 你想在应用程序中使用外部html文件是为了获取附加信息和格式化,还是只是为了播放视频?
如果内存是一个问题,那么mediacontroller设备有很多实现方式可用,可以从外部视频文件中工作。在你目前的例子中,优点是你只需要流式传输一个特定的视频。
希望这能帮到你。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接