1

HTML video tagAndroid Webviewでビデオを再生するために使用しています。ただし、フルスクリーン ボタンを押しようとすると、onShowCustomView()webview クロム クライアントからは初回のみ呼び出されます。その後、フルスクリーンボタンを押すたびに、関数onShowCustomView()は呼び出されません。

私が望むのは、フルスクリーンボタンを押すたびに onShowCustomView() を呼び出す必要があるということです。

ウェブビュー

webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    webView.getSettings().setAppCacheEnabled(true);
    webView.setWebChromeClient(mClient);
    webView.setWebViewClient(new WebViewClient());

HTML ビデオ タグ

<div>
       <!--<img id="videoImage" src="img/UI_homepage_innovation.png" style="cursor:pointer" onclick="play()"/>
       <iframe id="video" style="display:none;" src="http://www.youtube.com/embed/SNMjzPRQUA8?modestbranding=1&rel=0&showinfo=0&autohide=1&fs=0&autoplay=1"  frameborder="0" #allowfullscreen></iframe>-->
       <video poster="img/UI_homepage_innovation.png" controls>
           <source src="video/sintel.mp4" type="video/mp4">
                Your browser does not support the video tag.
       </video>
</div>

Webview Chrome クライアント

public class MyChromeClient extends WebChromeClient {

    @Override
    public void onShowCustomView(View view, CustomViewCallback callback) {
        Log.v("Testing", "onShowCustomView");
    }

    @Override
    public void onHideCustomView() {
        Log.v("Testing", "onHideCustomView");
    }
}
4

1 に答える 1

0

これが正しく機能するためには、ビデオ ビュー ホルダーを取得して別のビューに配置する必要があることを学びました。ただし、独自のカスタム フルスクリーン ビューを使用したかったのです。

そのために、CSS と Javascript を使用する独自のカスタム HTML ビデオ コントロールを作成し、「フルスクリーン」ボタンを使用してカスタム フルスクリーン ビューを毎回呼び出しました。魔法のように働きました!

于 2015-07-09T17:35:25.557 に答える