gpt4 book ai didi

javascript - 使用 JQuery 自动录制并允许播放一次

转载 作者:行者123 更新时间:2023-11-28 14:57:31 24 4
gpt4 key购买 nike

大家好,

         Below is the sample code for record.

<html>
<body>
<audio controls autoplay></audio>

<input onclick="startRecording()" type="button" value="start recording" />
<input onclick="stopRecording()" type="button" value="stop recording and play" />

<script>
var onFail = function(e) {
console.log('Rejected!', e);
};

var onSuccess = function(s) {
stream = s;
}

window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;

var stream;
var audio = document.querySelector('audio');

function startRecording() {
if (navigator.getUserMedia) {
navigator.getUserMedia({audio: true}, onSuccess, onFail);
} else {
console.log('navigator.getUserMedia not present');
}
}

function stopRecording() {
audio.src = window.URL.createObjectURL(stream);
}
</script>
</body>
</html>

我想要做的是 setInterval 为 40 秒,它将缓冲 40 秒,就像录音将在 40 秒内开始计时器将在 40 秒后运行,它将显示播放按钮以检查录制的音频。下面我添加了示例屏幕截图

enter image description here

enter image description here

进度条将显示录音。同样,音频也会出现一些问题,我需要在音频完成播放后开始录音。如果有人知道此问题的解决方案,请帮助我。感谢您的支持

最佳答案

<html>

<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<style>
.center_div {
width: 500px;
height: 100px;
background-color: #f5f5f5;
border: 1px solid #808080;
position: absolute;
top: 50%;
left: 50%;
margin-left: -250px;
/* half width*/
margin-top: -50px;
/* half height*/
padding: 25px;
}

.recording_label {
display: block;
text-align: center;
padding: 10px;
font-family: sans-serif;
font-size: 1.1em;
margin-bottom: 25px;
}

.loader_bg {
min-width: 100%;
background: #c5c5c5;
min-height: 20px;
display: block;
}

.loader_bg1 {
min-width: 90%;
background: grey;
min-height: 20px;
display: inline-block;
position: relative;
top: -20px;
}
</style>
</head>

<body>


<audio controls autoplay></audio>

<input onclick="startRecording();" type="button" value="start recording" />
<input onclick="stopRecording();" type="button" value="stop recording and play" />


<div class="center_div">
<span class="recording_label">Please wait...</span>
<span class="loader_bg"></span>
<span class="loader_bg1"></span>



</div>




<script>
var onFail = function(e) {
console.log('Rejected!', e);
};

var onSuccess = function(s) {
stream = s;
}

window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;

var stream;
var audio = document.querySelector('audio');

function startRecording() {
if (navigator.getUserMedia) {
navigator.getUserMedia({
audio: true
}, onSuccess, onFail);
} else {
console.log('navigator.getUserMedia not present');
}
}

function stopRecording() {
audio.src = window.URL.createObjectURL(stream);
}

$(function() {
var max = 40;
var count = max + 1;
var counter = setInterval(timer, 1000);

function timer() {
count = count - 1;
if (count <= 0) {
clearInterval(counter);
$(".recording_label").html("Recording...");
$('.loader_bg1').css({
'min-width': '' + (100) + '%'
})
startRecording();
recordingSec(40);
return;
}
$(".recording_label").html("Recording will begin in " + count + " sec.");
var percent = (count / max) * 100;
$('.loader_bg1').css({
'min-width': '' + (100 - percent) + '%'
})
}
});



function recordingSec(sec) {
var count = sec + 1;
var counter = setInterval(timer, 1000);

function timer() {
count = count - 1;
if (count <= 0) {
clearInterval(counter);
$(".recording_label").html("Recording stopped...Playing");
$('.loader_bg1').css({
'min-width': '' + (100) + '%'
})
stopRecording();
return;
}
$(".recording_label").html("Recording started [ " + (sec - count) + " / " + sec + " ] sec.");
var percent = (count / sec) * 100;
$('.loader_bg1').css({
'min-width': '' + (100 - percent) + '%'
})
}
}
</script>
</body>

</html>

关于javascript - 使用 JQuery 自动录制并允许播放一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42295781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com