swift - WKWebView 或 WebView 的麦克风访问

标签 swift uiwebview wkwebview microphone

我有一个用 Swift 编写的基本 iOS 应用程序,它在 WKWebView 中加载一个 HTML5 网站。我想知道是否可以访问麦克风来录制音频?我已经以正常方式向用户明确请求 native 应用程序的权限,但我仍然无法访问麦克风。

这是我得到的一个片段:

class MainViewController: UIViewController, UIWebViewDelegate {

    @IBOutlet weak var webView: UIWebView!
    var session: AVAudioSession!

    override func viewDidLoad() {
        super.viewDidLoad()

        session = AVAudioSession.sharedInstance()

        if (session.responds(to: #selector(AVAudioSession.requestRecordPermission(_:)))) {
            AVAudioSession.sharedInstance().requestRecordPermission({(granted: Bool)-> Void in
                if granted {
                    print("granted")

                    do {
                        try self.session.setCategory(AVAudioSessionCategoryPlayAndRecord)
                        try self.session.setActive(true)
                    }
                    catch {
                        print("Couldn't set Audio session category")
                    }
                } else{
                    print("not granted")
                }
            })
        }

        let url = URL(string: "https://www.somewebsite.com/")
        let urlRequest = URLRequest(url: url!, cachePolicy: .returnCacheDataElseLoad, timeoutInterval: 0.0)
        self.webView.loadRequest(urlRequest)
    }

最佳答案

您可以使用:

javaScriptEnable = true

关于swift - WKWebView 或 WebView 的麦克风访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50395784/

相关文章:

ios - UIImagePickerController 在 allowsEditing 中隐藏正方形选择

swift - AirPrint (UIPrintInteractionController) 使用 iOS 9、swift 2、XCode 7 打印警告

ios - iOS 6 上的 UIWebView 和客户端证书

ios - UIWebView webViewDidFinishLoad 不返回嵌入式 scrollView 的正确内容大小

ios - Swift:是否可以从堆栈中删除 View Controller?

ios - 部分之间多个自定义 TableviewCell 上的多个自定义 UICollectionView

android - 为 native 应用程序 webview 设置 cookie

ios - 如何在可以沿此 webView 平移的 WKWebView 上添加 subview ?

ios - uiwebview vs wkwebview,一个可以加载内容,一个不能

ios - WKwebview获取cookie的方法(IOS)