Android如何解决WebView打开网页不能自动播放声音的问题?

Android在Api Level 17增加了一个WebView的配置:

WebSettings.getMediaPlaybackRequiresUserGesture();

WebSettings.setMediaPlaybackRequiresUserGesture(boolean);

详见android dev文档:

https://developer.android.com/reference/android/webkit/WebSettings.html#getMediaPlaybackRequiresUserGesture() https://developer.android.com/reference/android/webkit/WebSettings.html#setMediaPlaybackRequiresUserGesture(boolean)

简单地说,在Api Level 17以后,android增加了对于由WebView加载的网页播放声音是否需要用户的手势触发。并且,关键是,默认值为true,也就是,如果你不做手动设置false,那么将需要手势才能播放触发音效,也就是说,不能自动播放。

代码类似:

WebView webview = ... // your webview

WebSettings settings = webview.getSettings();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)  {

  settings.setMediaPlaybackRequiresUserGesture(false);

}

转载于:https://www.cnblogs.com/lyonwu/p/10573829.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是详细的步骤: 1. 下载UniWebView插件 你需要先到Unity Asset Store中下载和导入UniWebView插件。这个插件是一个用于在Unity中显示Web内容的工具,它可以在iOS和Android设备上使用。 2. 创建一个空的3D物体 在Unity中创建一个空的3D物体,将其命名为“WebViewer”。 3. 添加UniWebView组件 将“WebViewer”物体选中,并在Inspector面板中点击“Add Component”按钮,然后选择“UniWebView”组件并添加到“WebViewer”物体上。 4. 设置UniWebView组件属性 在“WebViewer”物体上添加了“UniWebView”组件后,你需要设置其属性。以下是常用属性的说明: - URL:要在WebViewer中显示的网址。 - Show On Start:是否在应用程序启动时自动显示WebViewer。 - Bounces:是否启用WebViewer的边界弹跳效果。 - Back Button Enabled:是否启用返回按钮。 - Back Button Texture:返回按钮的纹理图像。 - On Message Received:当WebViewer发送消息时要执行的函数。 你可以根据自己的需要设置这些属性。 5. 在代码中加载WebViewer 在代码中,你可以使用以下代码加载WebViewer: ``` UniWebView webView = gameObject.GetComponent<UniWebView>(); webView.url = "https://www.example.com"; webView.Load(); ``` 这将在WebViewer中加载"https://www.example.com"网址。 6. 将WebViewer渲染到3D物体中 要将WebViewer渲染到3D物体中,你需要在场景中创建一个Plane,并将其命名为“WebSurface”。然后将“WebSurface”物体的缩放调整为适当的大小。 接着,将“WebViewer”物体的Transform组件的Position属性设置为与“WebSurface”重合,将其Rotation属性设置为与“WebSurface”的法线向量相同,并将其Scale属性设置为“WebSurface”的缩放值的倒数。 7. 在代码中将WebViewer渲染到3D物体中 最后,在代码中,你可以使用以下代码将WebViewer渲染到“WebSurface”物体中: ``` UniWebView webView = gameObject.GetComponent<UniWebView>(); webView.SetShowSpinnerWhileLoading(true); webView.SetTransparentBackground(true); webView.ReferenceRectTransform(webViewFrame.rectTransform); ``` 这将把WebViewer渲染到“WebSurface”物体中。 这些就是在Unity中使用UniWebView在3D物体中显示Web内容的详细步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值