网页浏览器声音衰减

问题描述 投票:0回答:3

我在我的项目中构建了一个网络浏览器并将其挂在墙上。所以我想做的事情是,当我在 YouTube 上播放视频然后离开那堵墙时,我希望该视频的声音根据距离而减弱。

我在论坛中查找了几天仍然找不到解决我的问题的方法。我检查了UE4网页中有关衰减和音频的文档仍然找不到任何内容。我在互联网上找到了一个视频,但它只显示结果,而不显示如何操作。如果您能帮我解决这个问题,我将不胜感激。

audio unreal-engine4 unreal-blueprint unreal-umg
3个回答
0
投票

您是否尝试过将组件包装在蓝图中?如果不尝试;

“如果您从网格创建蓝图,添加媒体声音组件(将媒体播放器添加到此组件),然后勾选“允许空间化”和“覆盖衰减”,这似乎会使声音本地化到网格。”

我在网上看到的关于这个问题的大部分抱怨都源于声音分量的起源保持在 0,0,0 世界坐标。注意声音衰减相对/世界位置切换(应该与网格相关并且位于 BP 中的相同位置,并且是网格的子级)。


0
投票

一位 Epic 员工告诉我。这是一个被放弃的实验性插件。没有可行的方法来抑制 Web 浏览器和流媒体源的声音衰减。 IE 播放 YouTube 视频时声音将是 100% 并且无法调整。

我会想到复杂的轨迹,如果玩家超出轨迹设置的范围,请将音量设置为 0。我研究了很多解决这个问题的方法,但多次放弃了。


0
投票

虚幻引擎使用 Chromium 嵌入式框架来显示网页内容。我不确定旧版 UE 使用的 CEF 版本是什么,但对于 UE 5.2.1 及更高版本,您可以使用 CEF 实现音频处理程序。通常你必须为此修改引擎,但我个人负担不起,所以我只是复制了我的 ueproject 中的 WebBrowser 模块,重命名了该模块和一些导致一些错误的标头。然后我从 FCEFBrowserHandler 中的 cef_audio_handler.h 实现了 CefAudioHandler (原始文件 Engine/Source/Runtime/WebBrowser/Private/CEF/CEFBrowserHandler.h)。 CefAudioHandler 提供 PCM 数据(了解更多此处)。我通过相应的转换将该数据馈送到 USoundWaveProcedural,然后我只需使用 AudioComponent 播放它,然后可以为其分配声音衰减选项。

我只有一个似乎已知的问题,CefAudioHandler 不会立即启动,因此在很短的时间内您仍然可以直接在音频输出中听到浏览器的音频,但我通过在 FCEFBrowserHandler 的 OnAfterCreated 中将浏览器静音来解决这个问题浏览器->GetHost()->SetAudioMulated(true)

© www.soinside.com 2019 - 2024. All rights reserved.