网络音频API getByteTimeDomainData在Safari中不起作用

时间:2018-10-04 14:25:55

标签: javascript web-audio-api

我正在尝试使用Audio Web API可视化音频,它可以在Chrome和Firefox中使用,但不能在Safari(台式机Mac)中使用。

这是一个在Chrome中记录frequencyData的最小示例,但是在Safari中,即使在播放音乐时,它也总是由128个值组成的数组。

<html>
<head>
</head>
<body>
  <audio id="audio" crossOrigin="anonymous" src="https://...." controls />
  <script>
    const element = document.getElementById('audio');

    const context = new (window.AudioContext || window.webkitAudioContext)();
    const analyser = context.createAnalyser();

    const source = context.createMediaElementSource(element);
    source.connect(analyser);

    analyser.connect(context.destination);
    analyser.fftSize = 2048;

    const frequencyData = new Uint8Array(analyser.frequencyBinCount);

    setInterval(() => {
      analyser.getByteTimeDomainData(frequencyData);

      console.log(frequencyData);
    }, 1000);

  </script>
</body>
</html>

源是来自Icecast2服务器的mp3流。我没有找到有关Safari特定问题的任何信息... Safari是否不支持某些特定问题?

0 个答案:

没有答案