Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在android中播放视频时显示Webview_Javascript_Android_Html_Webview_Android Webview - Fatal编程技术网

Javascript 在android中播放视频时显示Webview

Javascript 在android中播放视频时显示Webview,javascript,android,html,webview,android-webview,Javascript,Android,Html,Webview,Android Webview,我想在Android中显示WebView,我想在其上播放html视频标签中的视频。 我编写了执行此操作的代码,视频将自动播放,即不按任何按钮,视频将自动启动。 但是,我希望WebView仅在视频准备播放时显示。 请查看我的代码,并告诉我必须编写哪段代码,以便在视频缓冲区完成后,WebView将变为可见,视频将自动启动。 我在GUI上添加了一个按钮,单击该按钮将调用此方法 public void onShowInlineVideoButton(View view) { //webView.

我想在Android中显示WebView,我想在其上播放html视频标签中的视频。 我编写了执行此操作的代码,视频将自动播放,即不按任何按钮,视频将自动启动。 但是,我希望WebView仅在视频准备播放时显示。 请查看我的代码,并告诉我必须编写哪段代码,以便在视频缓冲区完成后,WebView将变为可见,视频将自动启动。 我在GUI上添加了一个按钮,单击该按钮将调用此方法

public void onShowInlineVideoButton(View view) {
    //webView.setVisibility(View.VISIBLE);
    webView.setWebChromeClient(new WebChromeClient());
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    int SDK_INT = android.os.Build.VERSION.SDK_INT;
    System.out.println("!!!!!!! SDK_INT is: " + SDK_INT);
    if (SDK_INT > 16) {
        webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
    }

    webView.setWebViewClient(new WebViewClient() {

        // autoplay when finished loading via javascript injection
        @Override public void onPageFinished(WebView view, String url) {

                System.out.println("!!!!!!!!!! In onPageFinished method...");
                webView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })");
                webView.setVisibility(View.VISIBLE);

        }
       // @Override public void onLoadResource(WebView view, String url) { System.out.println("!!!!!!!onLoadResource" + webView.getProgress()); if(webView.getProgress() == 100 ) webView.setVisibility(View.VISIBLE);}
    });
    //webView.setWebChromeClient(new WebChromeClient());
    // load the customURL with the URL of the page you want to display
    String pageURL = "file:///android_asset/videotag.html";
    webView.loadUrl(pageURL);
    //webView.setVisibility(View.VISIBLE);
    //webView.setPublicationId(publisherIdForNativeAds);
    //webView.loadAd();
}
下面是活动的xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<Button
    android:id="@+id/showInlineVideo"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_centerHorizontal="true"
    android:onClick="onShowInlineVideoButton"
    android:text="@string/showInlineVideoButtonLabel"
    android:textSize="14sp" />

<WebView
    android:id="@+id/inlineVideo"
    android:layout_width="300dp"
    android:layout_height="250dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"/>
</RelativeLayout>

这是一个名为“videotag.html”的视频html文件


现在,请帮助我,我应该做什么,使WebView只有在视频准备好开始时才可见,直到它将保持不可见

<!DOCTYPE html>
<html>
    <body>
        <a href="http://www.globe.com.ph/mylifestyleplan" target="_bla">
            <video id="video" controls preload="metadata" autoplay buffered height="245" width="335" webkit-playsinline="webkit-playsinline" class="videoPlayer">
                <source src="https://s3.amazonaws.com/silverpushcdn/debTest/videoplayback.mp4" type='video/mp4' />
            </video>
        </a>
    </body>
</html>