【问题标题】:Record Audio on Website that works on all browsers and iOS在适用于所有浏览器和 iOS 的网站上录制音频
【发布时间】:2018-07-19 05:16:30
【问题描述】:

我已经浪费了大量时间在我正在构建的网站中实现多个音频录制选项,但每个选项都只能在 Chrome 中工作,只能在 Firefox 中工作,两者都不能在 Safari 上工作,而且在 iOS 上都不能工作。

网站需要允许用户记录他们的消息并将其保存为表单状态以供提交。

我正在阅读的所有当前文章都是几个月前的,并提到 iOS 不/将很快支持它。我已经在 iOS 上尝试了移动 Chrome,但它仍然无法正常工作。

有没有人找到一种方法来简单地在浏览器和移动网站中录制音频??

我尝试过的事情:

目前使用以下适用于 Chrome 和 Firefox 的代码。

HTML

<audio controls src="" id="audio"></audio> <a class="button" id="record">Record</a> <input type="hidden" id="audiofile" name="audiofile" value="" aria-hidden="true"/>

使用 Francium Voice 库:

Javascript

    // Audio Recording for Phone Calls
  $(document).on("click", "#record:not(.stop)", function(){
  elem = $(this);
    $("#audio").attr("src","");
    $("#audiofile").val("");
  Fr.voice.record($("#live").is(":checked"), function(){
  elem.addClass("stop");
});
    elem.html("Stop <label id='minutes'>00</label>:<label   id='seconds'>00</label>");
    var minutesLabel = document.getElementById("minutes");
    var secondsLabel = document.getElementById("seconds");
    var totalSeconds = 0;
    setInterval(setTime, 1000);

    function setTime() {
        ++totalSeconds;
        secondsLabel.innerHTML = pad(totalSeconds % 60);
        minutesLabel.innerHTML = pad(parseInt(totalSeconds / 60));
    }

    function pad(val) {
        var valString = val + "";
        if (valString.length < 2) {
            return "0" + valString;
        } else {
            return valString;
        }
    }
});

$(document).on("click", ".stop", function(){
    elem = $(this);
    elem.html("Record");
    elem.removeClass("stop");
Fr.voice.export(function(base64){
  $("#audio").attr("src", base64);
        $("#audiofile").val(base64);
        $("#audio")[0].play();
}, "base64");
    Fr.voice.stop();
});  

【问题讨论】:

  • have wasted a ton of time implementing multiple audio recording options 请告诉我们你实现了什么
  • 我添加了不同的方法。
  • 请发布您的code
  • 对不起,我没有为此发布来自各种实现的数百行代码,我认为不需要它来获得对我的 OP 的准确或建议的答案。
  • 当然我说的是relevant code。但是,如果您不想这样做,那没关系-在这种情况下,我想您需要等待很长时间才能得到答案....如果有一天会来

标签: javascript ios html html5-audio audio-recording


【解决方案1】:

我发现了一种最终适用于 Chrome、Firefox 和 iOS Safari 的技术。虽然 Safari 中的 getUserMedia 存在问题,但我现在正在调查。

https://github.com/GersonRosales/Record-Audios-and-Videos-with-getUserMedia

【讨论】:

  • 这个支持 iPad 吗?
  • 是否有解决方案为 Safari 录制音频?我无法为 Mac 上的 Safari 找到任何解决方案。
  • 我使用上面的信息让它在 Safari 桌面上工作,但它首先在音频上显示“错误”,直到您录制。 iOS Safari 仍然说存在套件问题。
  • 我能做些什么让它在 iOS Chrome 上运行?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多