#javascript #typescript #html5-audio
Вопрос:
У меня есть сценарий с подключением WebRTC, в котором я хочу воспроизвести удаленный медиапоток в локальном браузере с помощью аудиоконтекста, в котором я могу установить увеличение громкости больше 1 (и дополнительные фильтры, но не интересные для проблемы). Код работает в Chrome и Firefox, но, к сожалению, не в Safari. Вот фрагмент кода (код в машинописном виде):
setRemoteConnection(private htmlAudioElement: HTMLAudioElement, remoteStream: MediaStream) {
if (this.htmlAudioElement) {
this.htmlAudioElement.autoplay = true;
//removed, so it doesn't play in the audio tag
this.htmlAudioElement.muted = true;
this.htmlAudioElement.srcObject = remoteStream;
var AudioContext = window.AudioContext || (window as any).webkitAudioContext;
this.audioContext = new AudioContext();
this.audioSource = this.audioContext.createMediaStreamSource(this.htmlAudioElement.srcObject);
this.gainNode = this.audioContext.createGain();
this.audioSource.connect(this.gainNode);
this.gainNode.connect(this.audioContext.destination);
}
Элемент htmlAudioElement ссылается на аудиотег HTML, а remoteStream-это объект медиапотока, инициализированный дорожкой, возвращенной с удаленного компьютера.
Есть ли что-то неправильное, что я здесь делаю?