跳到主要内容

可捕获声波

概述

可捕获声波派生自流式声波。它支持从麦克风等输入设备捕获音频数据并进行回放,具有与导入声波相同的功能(包括倒放、在SoundCue中使用等)。您甚至可以同时捕获和播放音频,没有任何限制。

提示

关于语音活动检测(VAD),请参阅此页面

备注

在iOS和Android平台上,可捕获声波会在开始捕获时自动请求麦克风权限。

基础用法

创建可捕获声波

首先需要创建一个可捕获声波。

创建可捕获声波节点

注意

您应将可捕获的声波视为强引用以防止提前销毁(例如通过将其赋值给蓝图中的独立变量或使用C++中的UPROPERTY())。

获取可用输入设备

要使用此功能,您需要先获取所有可用于捕获的音频输入设备。

获取可用音频输入设备节点

开始与停止捕获

获取可用设备后,您可以开始从输入设备捕获音频数据,并在需要时停止捕获。

开始与停止捕获节点

信息

DeviceId 是设备在可用设备数组中的索引,该数组通过前一步骤获取。

检查捕获状态

您可以检查当前是否正在捕获声波音频:

Is Capturing 节点

高级功能

静音与取消静音采集

您可以选择静音或取消静音采集,在不中断采集过程的前提下防止音频数据堆积。

切换静音节点

性能优化

当需要频繁切换捕获时,此方法非常有用,因为通过StartCapture开始录制可能会在引擎端造成轻微卡顿。您应当先启动捕获本身,然后再进行静音/取消静音操作。

若目标是消除轻微冻结现象,可考虑在卡顿影响可忽略的时机启动捕获。例如:在游戏加载画面期间启动捕获,随后立即将可捕获声波静音,待需要捕获音频数据时再取消静音,即可实现无卡顿的音频采集。

完整示例

以下是使用可捕获声波的完整实现示例:

使用可捕获声波的示例