WKWebView或WebView的麦克风访问

时间:2018-05-17 15:54:51

标签: swift uiwebview wkwebview microphone

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

这是我所得到的片段:

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)
    }

1 个答案:

答案 0 :(得分:0)

您可以使用:

javaScriptEnable = true