Здравствуйте. Я нашел этот скрипт, который дает вам возможность записывать аудиофайл в браузере, поэтому он работает в большинстве браузеров, кроме Edge. Поэтому при загрузке страницы я получаю эту ошибку.
- ошибка 0: «MediaRecorder» не определен
, и когда я нажимаю кнопку записи, я получаю эту ошибку.
А потом, когда я нажимаю Стоп, я получаю эту ошибку.
Так что я не знаю, как заставить это работать на Edge.
Я пытаюсь возиться с этим, но я все еще не могу понять, как, и я не могу найти какие-либо источники в Интернете, которые могут помочь мне в этом.
Вот код
navigator.mediaDevices.getUserMedia({
audio: true
})
.then(stream => {
handlerFunction(stream)
})
function handlerFunction(stream) {
rec = new MediaRecorder(stream);
rec.ondataavailable = e => {
audioChunks.push(e.data);
if (rec.state == "inactive") {
let blob = new Blob(audioChunks, {
type: 'audio/mpeg-3'
});
recordedAudio.src = URL.createObjectURL(blob);
recordedAudio.controls = true;
recordedAudio.autoplay = true;
sendData(blob)
}
}
}
function sendData(data) {}
record.onclick = e => {
console.log('I was clicked')
record.disabled = true;
record.style.backgroundColor = "blue"
stopRecord.disabled = false;
audioChunks = [];
rec.start();
}
stopRecord.onclick = e => {
console.log("I was clicked")
record.disabled = false;
stop.disabled = true;
record.style.backgroundColor = "red"
rec.stop();
}
#record {
background-color: red;
/* Green */
border-width: medium;
border-color: black;
color: white;
padding: 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
max-width: 50%;
max-height: 15%;
border-radius: 50%;
left: 100px;
right: 100px;
position: relative;
}
#stopRecord {
background-color: green;
/* Green */
border-width: medium;
border-color: black;
color: white;
padding: 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
max-width: 50%;
max-height: 15%;
border-radius: 50%;
left: 100px;
right: 100px;
position: relative;
}
h2 {
left: 100px;
position: relative;
}
#recordedAudio {
left: 100px;
right: 100px;
position: relative;
}
<h2>Record</h2>
<p>
<button id=record></button>
<button id=stopRecord disabled>Stop</button>
</p>
<p>
<audio id=recordedAudio></audio>
</p>