Three.JS-AudioAnalyser无法在Safari中将音频源用作流类型

问题描述

我正在使用 Three.JS 开发3D流媒体广播,我正在将PeerConnection音乐作为PeerConnection发送给客户端,并附加 [4,0],Starting Point [4,historyOfPositions [4,uniquePositons [4,Move: N [0,1],N translation [4,Updated Position [4,[4,2],3],4],uniquePositons 显示根据频率。

声音在所有平台上都可以正常运行,但是具有流类型输入源的THREE.AudioAnalyser()仅在Chrome上有效,Safari根本不起作用:frowning:

THREE.AudioAnalyser()

var listener = new THREE.AudioListener(); var audio = new THREE.Audio( listener ); audio.setmediastreamsource( stream ); audioAnalyser = new THREE.AudioAnalyser( audio,128 ); function loop(){ console.log(audioAnalyser.getFrequencyData()); } 函数console.log()应该包含一个整数数组,在Chrome上一切正常,Safari日志loop()

什么可能导致此问题?它似乎可以在所有地方运行,但不能在Safari上运行,而且似乎仅在源是流时失败。

解决方法

不确定100%,但是您可能希望将AnalyserNode的输出连接到目标节点。您可能希望将GainNode插入一个介于0之间的增益,以防万一您真的不希望播放AnalyserNode的音频。