跳至主要内容

導入音頻

概述

在運行時導入音頻的過程可以分解為以下幾個步驟:

  1. 創建一個運行時音頻導入器
  2. 綁定所需的委託(OnProgressOnResult
  3. 從文件或緩衝區導入音頻
  4. 播放從 OnResult 委託獲得的導入音波(更多信息請參見此處
重要提示

請確保 Runtime Audio ImporterSound Wave 實例不會被過早地進行垃圾回收,方法是通過使用 UPROPERTY()TStrongObjectPtr 或任何其他防止對象被銷毀的方式,將它們分配給單獨的變量來保持對它們的強引用。

支持的音頻格式

Runtime Audio Importer 支持導入以下音頻格式:

格式描述
MP3MPEG-1/2/2.5 音頻層 I/II/III
WAV波形音頻文件格式
FLAC免費無損音頻編解碼器
OGG VORBIS包含 Vorbis 音頻的 Ogg 容器
OGG OPUS包含 Opus 音頻的 Ogg 容器
BINKBink Audio
RAW (PCM)未壓縮的脈衝編碼調製音頻數據(Int8UInt8Int16UInt16Int32UInt32Float32
提示

導入音頻時,您可以明確指定格式,或根據文件擴展名或內容使用自動格式檢測。

流式音頻導入

對於音頻數據是增量接收的流式場景(例如,來自服務器、實時捕獲或網絡流),請考慮使用 Streaming Sound Waves

此方法提供了一種連續的方式將音頻數據附加到同一個音波的緩衝區,使其適用於實時流或分塊處理的大文件。有關更多詳細信息,請參見 Streaming Sound Wave 文檔

基本實現步驟

1. 創建 Runtime Audio Importer

首先,您需要創建一個 Runtime Audio Importer 對象。您應確保它被垃圾回收器視為強引用。

創建 Runtime Audio Importer 節點

2. 綁定到 OnProgress 委派

若要追蹤匯入音訊資料的進度,您可以綁定到 OnProgress (藍圖) / OnProgressNative (C++) 委派。

綁定到 On Progress 委派的範例

提示

這將讓您能夠監控進度,並例如實作一個載入畫面。

3. 綁定至 OnResult 委派

為了在音訊資料匯入流程完成時收到通知,並存取結果音波的參考,您必須綁定至 OnResult(藍圖)/ OnResultNative(C++)委派。

綁定至 On Result 委派的範例

注意

確保導入的音波被垃圾回收器視為強引用,以防止不必要的提前垃圾回收。在藍圖中,可以將其作為單獨變量放置來實現。

4. 開始音頻導入

通過調用相關函數開始音頻導入過程,該函數可以處理壓縮和未壓縮的音頻數據格式。

導入音頻節點示例

實用函式

尋找音訊檔案

您可以掃描目錄以尋找支援的音訊檔案:

Scan Directory For Audio Files 節點

完整範例

以下是匯入音訊的完整實作範例:

完整範例