如何在webview中播放带iframe或嵌入式代码的视频(Android)

3qpi33ja  于 2022-12-31  发布在  Android
关注(0)|答案(1)|浏览(273)

我对webview不太了解,通常我会用MediaplayerMediacontroller来播放url的视频,但是我所有的视频都是高清的,有些手机在播放高清视频时给予出错或者黑屏。所以我决定用嵌入式代码来播放视频。现在我可以用嵌入式代码来播放视频,但是视频不流畅。我的另一个问题是我不能全屏。我想如果我用iframe,我可以允许,但我不知道如何在webview中使用iframe。
我想学习,在webview中是否可以避免冻结以及如何在webview中使用iframe,如果你给予例子我将非常感激。希望我能解释自己,你能帮助我。提前感谢。

以下是我的webview代码:

public class EmbedActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_embed);

    WebView mWebView = (WebView)findViewById(R.id.webView1);
    WebSettings webSettings = mWebView.getSettings();
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    mWebView.loadUrl("http://www.example.com/wp-nuevo/player/embed.php?key=9935");

}

   }

内嵌框架

<iframe width="480" height="360" src="http://www.example.com/wp-nuevo/player/embed.php?key=11042" frameborder="0" allowfullscreen></iframe>
8zzbczxx

8zzbczxx1#

你好可能是我迟到了,但我希望我的答案帮助别人,你可以用户响应html作为

<div style="position: relative;overflow: hidden;width: 100%;padding-top: 45.25%;">

<iframe style="position: absolute; top: 0;  left: 0; bottom: 0; right: 0; width: 100%; height: 100%;"
title="vimeo-player" 
src="https://www.youtube.com/embed/tgbNymZ7vqY"
frameborder="0" 
>
</iframe>

这将匹配宽度为屏幕宽度如何用户u需要转换这个html到字符串一样

const val iFrame = "<div style=\"position: relative;overflow: hidden;width: 100%;padding-top: 54%;\"> <iframe width=\"360\" height=\"338\" style=\"position: absolute; top: 0;  left: 0; bottom: 0; right: 0; width: 100%; height: 100%;\" title=\"vimeo-player\" src=\"https://www.youtube.com/embed/tgbNymZ7vqY" frameborder=\"0\" allowfullscreen> </iframe> </div>"

然后将数据加载到WebView,如

binding.webview.loadData(iFrame, "text/html", "utf-8");

相关问题