Перейти к основному содержимому

Воспроизвести аудио

Базовое воспроизведение​

Чтобы воспроизвести импортированную звуковую волну, используйте те же функции, что и для обычной. Например, используйте функцию PlaySound2D или Play из аудиокомпонента, такого как Sound Cue.

Various examples of playing a sound wave

Управление воспроизведением​

Перемотка времени воспроизведения назад​

Чтобы перемотать время воспроизведения звуковой волны, используйте функцию RewindPlaybackTime.

An example of rewinding playback of a sound wave for 12.5 seconds

примечание

В версиях UE до 4.27, если вы хотите начать воспроизведение с определённого времени больше 0, возможно, вам потребуется предварительно использовать функцию RewindPlaybackTime. В противном случае звук может воспроизводиться некорректно из-за внутренних проблем движка при обработке процедурных волн. Эта проблема была решена в движке начиная с версии 5.0.

Получение информации о воспроизведении​

Чтобы получить текущее время воспроизведения звуковой волны, используйте функции GetPlaybackTime или GetPlaybackPercentage. Также вы можете получить длительность звуковой волны с помощью функции GetDuration.

Get Playback Time and Get Playback Percentage nodes

Проверка статуса воспроизведения​

Воспроизводится​

Чтобы определить, воспроизводится ли звуковая волна в данный момент, можно использовать функцию IsPlaying.

Is Playing node

Воспроизведение завершено​

Чтобы проверить, завершилось ли воспроизведение звуковой волны, можно использовать функцию IsPlaybackFinished.

Is Playback Finished node

Остановка воспроизведения​

Вы можете остановить воспроизведение звуковой волны с помощью функции StopPlayback.

Stop Playback node

к сведению

Обычно рекомендуется останавливать воспроизведение звуковой волны внешними средствами (например, вызвав Stop у аудиокомпонента), а эту функцию использовать, если внешние средства недоступны. Также учтите, что эта функция не работает для воспроизведения из MetaSounds.

Обработка событий​

Отслеживание завершения воспроизведения​

Чтобы отслеживать завершение воспроизведения аудио, привяжитесь к делегату OnAudioPlaybackFinished.

An example of binding to the OnAudioPlaybackFinished delegate

Управление памятью​

Освобождение памяти​

Вы можете вручную очистить аудиоданные с помощью функции ReleaseMemory.

Release Memory node

warning

Ручное освобождение памяти не рекомендуется, если у вас нет особых требований к управлению памятью или вы не отключили сборщик мусора.

Освобождение воспроизведённых аудиоданных​

Чтобы автоматически освобождать уже воспроизведённую часть аудиобуфера во время воспроизведения, настройте параметры освобождения с помощью функции SetPlayedAudioDataReleaseSettings.

Set Played Audio Data Release Settings node

  • bReleasePlayedAudioData — включено ли освобождение. По умолчанию отключено
  • ReleaseCallbackFrequency — количество запросов на генерацию аудио (вызовов OnGeneratePCMAudio) между проверками освобождения
  • MinFramesToRelease — минимальное количество воспроизведённых кадров, необходимое для запуска освобождения
warning

Включение этого ограничивает перемотку/поиск до уже воспроизведённой точки, поскольку эти аудиоданные физически освобождаются и больше не могут быть воспроизведены.