繁体   English   中英

Flutter InAppWebView iOS 去直播代替拍照

[英]Flutter InAppWebView iOS goes to live broadcast instead of camera

我正在使用flutter_inappwebview package 在我们的 Flutter iOS 应用程序中将我们的网站显示为 web 视图。 网站支持录像,在web上一切正常。

每当用户从应用程序开始录制时,它都会意外地将他们重定向到live broadcast而不是摄像头。

解释起来有点复杂,所以我附上这个短片:

在此处输入图像描述

有什么建议为什么会发生吗? 那是InAppWebView问题吗?

查看我们在 GitHub 上的讨论

flutter 医生:

[✓] Flutter (Channel stable, 3.3.7, on macOS 13.0 22A380 darwin-x64, locale en-IL)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.73.1)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

IOS 版本:15.2.1

更新

flutter_webview_plugin package 上也面临完全相同的问题。

flutter_inappwebview 和 flutter_webview_plugin 包都没有提供有关它们依赖项的完整详细信息,但它们在打开视频录制时都遇到了同样的问题。

我们的GitHub 讨论越来越深入。

InAppWebViewOptions中删除userAgent

问题解决了!

感谢@pichillilorenzo @programming6131 ,他们在我们的GitHub 讨论中帮助我解决了这个问题。

我所要做的就是将allowsInlineMediaPlayback添加到我的InAppWevViewGroupOption

initialOptions: InAppWebViewGroupOptions(
  crossPlatform: InAppWebViewOptions(
      useShouldOverrideUrlLoading: true,
      mediaPlaybackRequiresUserGesture: false,
  ),
  android: AndroidInAppWebViewOptions(
      useHybridComposition: true,
  ),
  ios: IOSInAppWebViewOptions(
      allowsInlineMediaPlayback: true, // <-- add this line
  ),
)

根据 Apple 官方文档allowsInlineMediaPlayback是一个 boolean 值,表示 HTML5 视频是内联播放还是使用原生全屏 controller。

将此属性设置为YES 以内联播放视频,或设置为 NO 以使用本机全屏 controller。

在 iPhone 上向 HTML 文档添加视频元素时,还必须包含playsinline属性 此属性的默认值对于 iPhone 为 NO,对于 iPad 为 YES。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM