osx – 可以使用Web Audio API输出多达8个通道吗?

osx – 可以使用Web Audio API输出多达8个通道吗?,第1张

概述我正在尝试使用Web Audio API在多频道设置中控制交互式音乐播放.到目前为止,我设法将12声道声卡上的8个振荡器的声音指向8个不同的通道,但一旦我尝试使用8个以上的通道,突然间所有的通道都会被静音.经过大量的研究,我也注意到audioContext.currentTime被卡在接近零的值上. 这是MAC OSX 10.8.5的结果 Google Chrome版本39.0.2171.27 b 我正在尝试使用Web Audio API在多频道设置中控制交互式音乐播放.到目前为止,我设法将12声道声卡上的8个振荡器的声音指向8个不同的通道,但一旦我尝试使用8个以上的通道,突然间所有的通道都会被静音.经过大量的研究,我也注意到audioContext.currentTime被卡在接近零的值上.

这是MAC OSX 10.8.5的结果
Google Chrome版本39.0.2171.27 beta(64位)
和版本40.0.2192.0金丝雀(64位).

Safari不允许我处理超过2个频道
firefox使用audioContext.destination.maxChannelCount找到我的12个频道,但是继续将我的声音路由到频道1& 2,无论我是否尝试通过gain.connect(channelMerger,i)将振荡器连接到较高的数字.

有没有人遇到过类似的事情?有解决办法吗?

这是代码:

var AudioContext = window.AudioContext || window.webkitaudiocontext;var audioContext = new AudioContext();var maxChannelCount = audioContext.destination.maxChannelCount;// if set to max 8 it works fine in Chrome,but this line// breaks the audio if the sound card has got more than 8 channelsaudioContext.destination.channelCount = maxChannelCount; audioContext.destination.channelCountMode = "explicit";audioContext.destination.channelinterpretation = "discrete";var channelMerger = audioContext.createChannelMerger(maxChannelCount);channelMerger.channelCount = 1;channelMerger.channelCountMode = "explicit";channelMerger.channelinterpretation = "discrete";channelMerger.connect(audioContext.destination);for(var i = 0; i < maxChannelCount; i++){    var oscillator = audioContext.createOscillator();    oscillator.connect(channelMerger,i);    oscillator.start(0);}
解决方法 我们还没有在firefox中实现多渠道支持.这是一个优先事项,并将在接下来的两个季度的某个时候发生. 总结

以上是内存溢出为你收集整理的osx – 可以使用Web Audio API输出多达8个通道吗?全部内容,希望文章能够帮你解决osx – 可以使用Web Audio API输出多达8个通道吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存