在特定的秒开始播放歌曲

Start song at specific second of it

我有背景音乐,它是一个 6 分钟的循环。这首歌有 4 个部分,它可以从任何一个部分开始播放。

如何在 Unity 中开始播放歌曲的特定部分?

尝试设置 AudioSourcetime 属性:

//Set the playback time to 3 seconds
audioSource.time = 3;

//Play the audio
audioSource.Play();

如果你的音频是压缩的,请考虑一下manual中写的内容:

Be aware that: On a compressed audio track position does not necessary reflect the actual time in the track Compressed audio is represented as a set of so-called packets. The length of a packet depends on the compression settings and can quite often be 2-3 seconds per packet

在这种情况下,您可能希望使用 属性 timeSamples 代替:

// Seek 1 sample forward (about 2-3 seconds)
audioSource.timeSamples = 1;

//Play the audio
audioSource.Play();

您可能还想查看开源工具 Audacity,将您的文件拆分为多个声音,然后您可以在需要时播放您需要的声音。

有关详细信息,请参阅 here

我建议您查找 FMOD

否则,您需要将AudioSource.Time(以秒为单位的播放位置)设置为所需的时间。