在特定的秒开始播放歌曲
Start song at specific second of it
我有背景音乐,它是一个 6 分钟的循环。这首歌有 4 个部分,它可以从任何一个部分开始播放。
如何在 Unity 中开始播放歌曲的特定部分?
尝试设置 AudioSource
的 time
属性:
//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(以秒为单位的播放位置)设置为所需的时间。
我有背景音乐,它是一个 6 分钟的循环。这首歌有 4 个部分,它可以从任何一个部分开始播放。
如何在 Unity 中开始播放歌曲的特定部分?
尝试设置 AudioSource
的 time
属性:
//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(以秒为单位的播放位置)设置为所需的时间。