Я использую WebRT C для создания видео- и аудиопотоков:
function handleSuccess(stream) {
video.srcObject = stream;
const context = new AudioContext();
const source = context.createMediaStreamSource(stream);
const processor = context.createScriptProcessor(1024, 1, 1);
source.connect(processor);
processor.connect(context.destination);
processor.onaudioprocess = function(e) {
// Do something with the data, e.g. convert it to WAV
if(isRecording) {
myaudio.push(e.inputBuffer);
console.log(e.inputBuffer);
}
};
requestAnimationFrame(renderFrame);
}
... поэтому аудиопоток отправляется в массив, а видеокадры также отправляются в массив из холст, который принимает видеокадры.
Я просто хочу воспроизвести то, что было «записано», чтобы пользователь мог смотреть / слушать. В настоящее время я воспроизводлю видео, просматривая массив изображений (безобразно), и не знаю, как воспроизводить звук.
Итак, есть ли более простой способ воспроизведения видео, чем мой текущий метод? Если так, пожалуйста, объясните. Как я могу воспроизвести звук?
Мне нужно, чтобы это работало в Windows (Chrome), iOS и Android (Chrome) ... так что mediaRecorder отсутствует, потому что это все еще экспериментальная функция для Safari.