javascript - Mobile Safari 中 Javascript 中的麦克风访问

标签 javascript ios safari microphone getusermedia

我正在尝试在 Javascript 中实现对麦克风的访问,在网页中,

使用navigator.getUserMedia({audio: true})navigator.mediaDevices.getUserMedia({audio:true})
(并实现对 vendor 前缀的检查:
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; )

响应页面上按钮的单击事件而调用

似乎在 IOS Safari 中不起作用。 (在桌面 Chrome 中工作正常)。

然而 , these guys这里似乎可以正常工作 - 它可以在我的 iPhone 上的 Safari 上运行。

他们在做什么不同?

最佳答案

enter image description here我们可以在输入文本框中使用键盘麦克风并在用户停止询问时以编程方式触发某些功能

var prevTextboxWords = "";
    var textboxWords = "";
    var textRepeatTimes = 0;
    var prevTextCheck = "";
    var textCheck = "";
    var textCheckNumber = 0;
    var x = 0;
    var speechTimeOutLimit = 16;
    var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
    if (iOS) {
        iosVoice();

        function iosVoice() {
            setTimeout(function() {
                textCheck = $("#record").val();
                var numberOfWordsSpoken = textCheck.split(" ").length;
                if (numberOfWordsSpoken < 3) speechTimeOutLimit = 16;
                else if (numberOfWordsSpoken < 6) speechTimeOutLimit = 12;
                else speechTimeOutLimit = 7;
                if (textCheck != "" && textCheck == prevTextCheck) {
                    textCheckNumber++
                } else {
                    textCheckNumber = 0
                }
                if (textCheck.length < 4) textCheckNumber = 0;
                if (textCheckNumber > speechTimeOutLimit) {
                    textCheckNumber = 0;
                    $("#record").val("");
                    prevTextCheck = "";
                    textCheck = textCheck.toLowerCase();

                    console.log(textCheck + "HIT");


                    //some function with text textCheck

                   
                    

    
                    textCheck = ""
                }
                prevTextCheck = textCheck;
                coroverIosVoice()
            }, 200)
        }
    }
<input type="text" id="record">

关于javascript - Mobile Safari 中 Javascript 中的麦克风访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53918434/

相关文章:

ios - 单击搜索栏中的输入按钮后,如何更新 View Controller 以显示搜索结果?

Safari 版 iOS 模拟器

nginx - Safari 不理解我的 Content-Security-Policy header

javascript - 什么会导致 undefinedpageWebRequestEvents.js 出现在我的日志中?

php - $(document).ready() 什么时候触发?

ios - 仅视网膜设备的图像名称?

javascript - 如何将对象插入到对象内部的数组中?

css - 我在 iOS 中的网站上的填充过多

javascript - 未捕获的语法错误 : missing ) after argument list 5

javascript - 数据表。在循环中隐藏/显示多行