Android webview jwplayer7无法读取null的属性'jwplayer.volume'

时间:2016-02-09 17:32:12

标签: webview android-webview jwplayer

我有一个使用webview的应用启动加载 JWP7 的html并抛出错误未捕获的TypeError:无法读取属性'jwplayer.volume'为null 同一页面在移动和桌面浏览器上完美加载。 我试图在调用jwplayer.js之后添加html的javascript,并在安装之前添加以下代码:

if (typeof jwplayer.volume == "undefined" || typeof jwplayer.volume == null )
    jwplayer.volume = 10;

我确实使用桌面/移动浏览器看到了新的卷属性,但它没有更改webview中的TypeError,可能是因为在运行jwplayer.js脚本之前,在它到达我的javascript检查之前抛出了TypeError。 / p>

当我使用 JWP6 时,一切正常。

有关如何修复它的任何建议吗?

2 个答案:

答案 0 :(得分:17)

我检查了jwplayer.js代码。 并且看到它从LocalStorage读取Volume(jwplayer.volume)和Mute(jwplayer.mute)的最后设置;而不是来自cookie。 (可能JWPlayer 6正在使用cookies。)

因此,您需要在WebView中启用LocalStorage访问;就像你为JavaScript做的那样。

以下示例代码。

WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true); // This will allow access
webView.setWebViewClient(new WebViewClient());
/* WebView.setWebContentsDebuggingEnabled(true);  // This is to inspect your WebView from desktop Chrome. (>= API 19) You may not want to include this in production. */
webView.loadUrl(url);

答案 1 :(得分:1)

JW Player不支持在Android或iOS网页浏览中使用网络播放器;但是,有一些原生移动SDK可用于支持应用内视频:developer.jwplayer.com/android-sdk