ios - 是否可以从 iOS 上的 inappbrowser/webview 访问相机

标签 ios cordova

我已经尝试了所有可能的方法来访问 cordova 上 webview 上的摄像头。

它适用于 Android,但不适用于 iOS。

谁能解释一下如何在 iOS 上通过 cordova webview 实现访问相机功能,谢谢。

Inappbrowser side (Angular)

if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
      navigator.mediaDevices
        .getUserMedia({ video: { facingMode: 'environment' } })
        .then(stream => {
          // this.videoDom.srcObject = stream;
          this.videoDom.srcObject = stream;
          this.videoDom.setAttribute('playsinline', 'true');
          this.videoDom.play();

          this.stream = stream.getTracks();

          requestAnimationFrame(tick);
        })
}

Cordova side

我在ios平台上安装了cordova-plugin-camera并在config.xml中添加了权限。

最佳答案

在 iOS11/12 上 navigator.getMediaDevices 不适用于 WKWebView 和 UIWebView。它仅适用于 Safari。 (https://forums.developer.apple.com/thread/88052)

WebRTC is only supported in Safari. No WKWebView, not even SFSafariViewController.

您可以尝试正常使用该插件应该可以解决您的问题:https://github.com/phonegap/phonegap-plugin-media-stream

navigator.mediaDevices.getUserMedia({
    'audio': true,
    'video': {
        facingMode: 'environment'
    }
}).then(function(mediaStream) {
 // Do what you want with
}

关于ios - 是否可以从 iOS 上的 inappbrowser/webview 访问相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55041319/

相关文章:

ios - 苹果会批准没有应用程序图标的应用程序进行 Beta 测试吗?

ios - Web Inspector IOS9 safari空白

javascript - 运行 Cordova Android 应用程序(插件)时 Assets 文件夹中出现错误

java - Cordova s​​qlite插件android正则表达式功能

ios - 如何快速创建如下图所示的自定义导航栏?

iOS FFT Accerelate.framework 在回放时绘制频谱

ios - SetUbiquitous 对于不存在的文件显示 'file already exists'

objective-c - 比较UILabel得分

android - Android PhoneGap 应用程序的安全存储

Android+PhoneGap : android:windowSoftInputMode doesn't seem to work