安装在系统上的混音器在Safari和Firefox上使用java AudioSystem API是不同的

时间:2014-08-11 05:29:35

标签: java safari javasound

为什么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中的系统级详细信息不同?

1 个答案:

答案 0 :(得分:0)

一些挖掘表明java中的混音器来自java实现提供的MixerProviders。浏览器可能会更改提供程序,以便它们可以控制浏览器中的音频流。

换句话说,"系统级详细信息"不是计算机的,它们是Java 虚拟机的。 VM可以按照自己喜欢的方式定义混音器。实现可能允许更改混音器的配置,这解释了为什么您在不同的浏览器上获得不同的设备。