在我的 Meteor React 应用中,我使用了一个修改版的 React Howler 来同时播放两个音轨(两个 Howler 实例)。我还实现了一个简单的淡入淡出器来同时更改两个音轨的音量,在 Chrome 和 Android 上效果很好。但是当我在 iOS 上测试时,我发现它可以正常播放音频,但音量不会改变。
奇怪的是:当我在每个时间步骤中读取当前音量时(播放器每秒更新 10 次),它在每个平台上都输出了正确的值。这意味着,在 iOS 上,音量被设置和存储正确,但你听到的声音实际上并没有改变。
以下是在我的 ReactHowler 版本中音量函数的工作方式:
奇怪的是:当我在每个时间步骤中读取当前音量时(播放器每秒更新 10 次),它在每个平台上都输出了正确的值。这意味着,在 iOS 上,音量被设置和存储正确,但你听到的声音实际上并没有改变。
以下是在我的 ReactHowler 版本中音量函数的工作方式:
get volume() {
return this._howler.volume();
}
set volume(val) {
if(this._howler.volume() != val){
console.log("setting volume to " + val)
}
this._howler.volume(val);
}
控制台输出看起来不错,就像之前描述的那样。当横向淡入淡出值改变时,它会显示。
setting volume to 0.35
howler volume: 0.35 (this is output at every time frame for debugging purposes)
howler volume: 0.35
...