跳到主要内容

导入音频

在运行时导入音频的过程可以分为几个步骤:

  1. 创建运行时音频导入器。
  2. 绑定到所需的委托(OnProgressOnResult)。
  3. 从文件或缓冲区导入音频。
  4. 播放从 OnResult 委托获得的导入音频波形(更多信息在这里)。

确保 Runtime Audio ImporterSound Wave 实例不会因垃圾回收而过早销毁,可以通过使用 UPROPERTY()TStrongObjectPtr 或其他方法将它们分配给单独的变量来保持对它们的强引用。

Blueprint示例

首先,你需要创建一个 Runtime Audio Importer 对象。你应该确保它由垃圾回收器作为强引用处理,这可以通过在Blueprint中将其作为单独的变量进行设置来实现。这可以防止对象的过早销毁。

Create Runtime Audio Importer node


要跟踪导入音频数据的进度,可以绑定到 OnProgress(Blueprint)/ OnProgressNative(C++)委托。这样可以监控进度,并例如实现加载屏幕。要绑定此委托,只需从绑定事件节点拉出事件引脚即可。

绑定到进度委托的示例


要在音频数据导入过程完成时收到通知并访问生成的声波的引用,您必须绑定到 OnResult (Blueprints) / OnResultNative (C++) 委托。同时,确保导入的声波被垃圾收集器视作强引用,以防止不必要的提前垃圾收集。这可以通过在 Blueprints 中将其作为单独的变量进行设置。

绑定到 On Result 委托的示例


通过调用相关函数开始音频导入过程,该函数可以处理压缩和未压缩的音频数据格式。

导入音频节点示例


一旦导入过程完成,导入的声音波形可以通过 OnResult 委托获得。

完整示例

完整示例