为什么AudioSystem.getMixerInfo()会返回与浏览器不同的混音器信息?
Safari浏览器中缺少某些混音器和DataLines,但它们存在于Firefox中。
在Safari上
2014-08-01 13:56:36:098 There are 3 mixer info objects
2014-08-01 13:56:36:099 Mixer Name:Default Audio Device
2014-08-01 13:56:36:100 Mixer Name:Built-in Output
2014-08-01 13:56:36:101 Mixer Name:Port Built-in Output
2014-08-01 13:56:36:113 line:SPEAKER target port
在Firefox上
2014-08-01 13:13:59:974 There are 5 mixer info objects
2014-08-01 13:13:59:974 Mixer Name:Default Audio Device
2014-08-01 13:13:59:975 line:interface TargetDataLine supporting 14 audio formats, and buffers of at least 32 bytes
2014-08-01 13:13:59:975 Mixer Name:Built-in Input
2014-08-01 13:13:59:978 line:interface TargetDataLine supporting 14 audio formats, and buffers of at least 32 bytes
2014-08-01 13:13:59:978 Mixer Name:Built-in Output
2014-08-01 13:13:59:979 Mixer Name:Port Built-in Input
2014-08-01 13:13:59:980 Mixer Name:Port Built-in Output
2014-08-01 13:13:59:981 line:SPEAKER target port
任何人都知道为什么Safari中的系统级详细信息不同?
答案 0 :(得分:0)
一些挖掘表明java中的混音器来自java实现提供的MixerProviders
。浏览器可能会更改提供程序,以便它们可以控制浏览器中的音频流。
换句话说,"系统级详细信息"不是计算机的,它们是Java 虚拟机的。 VM可以按照自己喜欢的方式定义混音器。实现可能允许更改混音器的配置,这解释了为什么您在不同的浏览器上获得不同的设备。