使用 createMediaElementSource() 时无法在 Safari 中控制音量
Cannot control audio volume in Safari when using createMediaElementSource()
我有一个 html 音频播放器,我将它与 createMediaElementSource() 一起使用来制作可视化工具。但我无法从 Safari 更改它的音量。当我将音量更改为 0 时,它会在控制台中正确记录 (0),但实际音量仍为 1。它适用于其他浏览器。
const AudioContext = window.AudioContext ||
window.webkitAudioContext
var audio = new AudioContext()
var $audioPlayer = document.querySelector('.player-element__player')
var analyser = audio.createAnalyser()
analyser.fftSize = 32
analyser.connect(audio.destination)
var source = audio.createMediaElementSource($audioPlayer)
source.connect(analyser)
$audioPlayer.volume = 0
看来现在的解决方案是制作一个 GainNode 并从那里控制音量。
我有一个 html 音频播放器,我将它与 createMediaElementSource() 一起使用来制作可视化工具。但我无法从 Safari 更改它的音量。当我将音量更改为 0 时,它会在控制台中正确记录 (0),但实际音量仍为 1。它适用于其他浏览器。
const AudioContext = window.AudioContext ||
window.webkitAudioContext
var audio = new AudioContext()
var $audioPlayer = document.querySelector('.player-element__player')
var analyser = audio.createAnalyser()
analyser.fftSize = 32
analyser.connect(audio.destination)
var source = audio.createMediaElementSource($audioPlayer)
source.connect(analyser)
$audioPlayer.volume = 0
看来现在的解决方案是制作一个 GainNode 并从那里控制音量。