Найти в Дзене

Воспроизведение звуков в Unity

Использовалась версия Unity 2021.3.8 Актуально при разработке на игровом движке Unity для мобильного Яндекс.Браузера и приложения Яндекс.Игры для SmartTV, если вы столкнулись с проблемой воспроизведения звука обычным способом. Для того, чтобы звуки вашей игры воспроизводились, их необходимо разместить в папке StreamingAssets и подгружать посредством UnityWebRequest перед воспроизведением. Код загрузки звука IEnumerator LoadAudioFromServer(string url) { var request = UnityWebRequestMultimedia.GetAudioClip(url, AudioType.MPEG); request.timeout = 10; yield return request.SendWebRequest(); if (request.isDone && request.result == UnityWebRequest.Result.Success) { responseAudio(DownloadHandlerAudioClip.GetContent(request)); request.Dispose(); } } Путь к файлу при загрузке формируется так: Application.streamingAssetsPath + SoundName Далее в функции responseAudio необходимо реализовать обработку полученного AudioClip. Например, его добавление в List для последующего воспроизведения в процес

Использовалась версия Unity 2021.3.8

Актуально при разработке на игровом движке Unity для мобильного Яндекс.Браузера и приложения Яндекс.Игры для SmartTV, если вы столкнулись с проблемой воспроизведения звука обычным способом.

Для того, чтобы звуки вашей игры воспроизводились, их необходимо разместить в папке StreamingAssets и подгружать посредством UnityWebRequest перед воспроизведением.

расположение папки в проекте
расположение папки в проекте

Код загрузки звука

IEnumerator LoadAudioFromServer(string url)
{
var request = UnityWebRequestMultimedia.GetAudioClip(url, AudioType.MPEG);
request.timeout = 10;
yield return request.SendWebRequest();
if (request.isDone && request.result == UnityWebRequest.Result.Success)
{
responseAudio(DownloadHandlerAudioClip.GetContent(request));
request.Dispose();
}
}

Путь к файлу при загрузке формируется так:

Application.streamingAssetsPath + SoundName

Далее в функции responseAudio необходимо реализовать обработку полученного AudioClip. Например, его добавление в List для последующего воспроизведения в процессе игры.

Из проверенных форматов (AudioType.) корректно заработали wav и mpeg (mp3). ogg, к сожалению, работать отказался.

Собственно само воспроизведение загруженных звуков можно реализовывать в соответствии с документацией Unity.

Описанное выше использовалось при разработке, например, вот этой игры

Правда или Ложь - Викторина — играть онлайн бесплатно на сервисе Яндекс Игры

Про обработку управления пульта SmartTV в Unity можно почитать здесь ссылка.

Всем Удачи!