如何阻止 Flash Player 将立体声上混为 5.1?

如何阻止 Flash Player 将立体声上混为 5.1?

我在 Firefox 19.0.2 中、Windows 7 和 5.1 声音设备上使用 Flash Player 11.6.602.171。

我刚刚注意到,在 Flash(例如 Youtube、Soundcloud)中播放立体声时,Flash 会通过将声音复制到后置扬声器并使用 LFE 通道进行某种自制低音管理将立体声上混为 5.1。

这显然是完全错误的,而且显然是一个错误,因为立体声不是使用两个以上的扬声器来再现的,而 Flash 是唯一以这种方式运行的软件。我使用其他播放器(例如 foobar2000)时没有遇到这个问题。这不是一个孤立的问题;事实上,其他人似乎也有同样的问题。

有没有什么方法可以禁用这种行为并强制 Flash 不受影响地输出立体声?

答案1

看到 Adob​​e关闭该错误,因为“工作正常”(这简直太愚蠢了),我决定自己修复它。

结果如下:停止脑死亡环绕(开源,WTFPL 许可证

要安装,只需将其复制audioses.dll到 Flash Player 目录中(通常C:\Windows\SysWOW64\Macromed\Flash如果您使用的是 64 位 Windows)。您可能需要在 Flash Player 更新后再次复制它。

以下是 README 的摘录:

如果您使用的是带有环绕声系统(例如 5.1、7.1)的 Flash Player,您可能已经注意到 Flash 在播放音频流时表现出一种奇怪的行为:它不是像任何正常程序一样不加改变地传递立体声音频流,而是将其混合为 5.1,将音频流复制到后置扬声器,并将其自己的低音管理应用于 LFE 通道。

这当然是极其愚蠢的,原因有很多。首先,它与市面上所有其他软件(例如音频播放器,如 foobar2000)不一致。其次,立体声流在 5.1 流上播放时不应“扩展”,因为它们从来就不是要使用后置扬声器播放的。第三,它会导致过多的低音输出,因为声学叠加通常会导致在频谱较低部分的聆听位置产生更高的声压。最后,如果用户确实想要上混,尽管存在所有这些问题,大多数音频驱动程序都允许他在系统级别执行此操作,这比在应用程序级别执行此操作更有意义。

这款小软件(SBS:StopBraindeadSurround)专门用于防止 Flash Player 混音音频。安装后,它会阻止 Flash Player 打开超过 2 个声道的音频设备,从而迫使其回退到(希望)未受影响的立体声输出。

对实现感兴趣的人可以在源代码()中找到其工作原理的描述sbs.cpp

答案2

Flash 播放器似乎无法配置到该级别。

http://forums.adobe.com/message/4294981?tstart=0

In Firefox, the Flash Player is a plugin, and as so, there are limitations
with what you can do with it.
But because it runs as a guest of the host system which is Firefox, you
can configure how it's handled.

You can configure Flash to play in any player, such as the VLC player for
example. Then change the way VLC outputs audio using the
Tools | Preferences menu 

将 swf 重定向到 Flash 插件以外的其他应用程序。

http://www.ehow.com/how_8409438_use-instead-flash-player-firefox.html

    1  Launch Firefox on your computer.
    2  Download the VLC media player from the VideoLAN website. When
       installing check the option in the installer to install the Firefox
       plugin.
    3  Install the Flash Video Replacer plugin in your Firefox browser from
       the mozilla addons website and restart your Firefox browser.
    4  Navigate to a website that uses Flash video and press the "Flash Video
       Replacer" button on the right side of the navigation bar. Click on the
       "Preferences" option and select "VLC" from the drop-down menu for the
       player.


You can also use the drop-down menu labeled "Preferred Method" to change the
option from "Embedded" to "Standalone" to open the video on the Web page in the
VLC player, rather than just using the VLC plugin embedded in Firefox.

答案3

找到了更好的解决方法这里。基本上,您需要编辑 mms.cfg 文件并向其中添加此行:

UseWAVPlayer=1

mms.cfg 文件存储在以下位置:

Windows 32 位 -> C:\WINDOWS\system32\Macromed\Flash\mms.cfg

Windows 64 位 -> C:\Windows\SysWOW64\Macromed\Flash\mms.cfg

Mac:app support/Macromedia/mms.cfg

(例如,/Library/Application Support/Macromedia/mms.cfg)

只需使用文本编辑器打开文件并添加行即可。请确保先备份原始文件。

相关内容