Tra*_*ton 5 javascript html5 audio-recording ios html5-audio
我浪费了很多时间在正在建立的网站上实施多个音频录制选项,但是每个选项只能在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语音库:
Java脚本
// 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();
});
Run Code Online (Sandbox Code Playgroud)
我找到了一种最终适用于 Chrome、Firefox 和 iOS Safari 的技术。不过 Safari 中的 getUserMedia 有一个问题,但我现在正在研究这个问题。
https://github.com/GersonRosales/Record-Audios-and-Videos-with-getUserMedia
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |