Аудиоконтекст не работает в Safari, но работает в Chrome и Firefox

#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-это объект медиапотока, инициализированный дорожкой, возвращенной с удаленного компьютера.

Есть ли что-то неправильное, что я здесь делаю?