有没有办法在其父级禁用之前获取音频源播放的音频的当前播放时间?
我有这个游戏对象,它具有播放声音的音频源组件,我想在游戏对象被禁用之前获取声音的当前播放时间。我已经尝试过,void OnDisable()
但它不起作用。
void OnDisable()
{
AudioSource audiSource = GetComponent<AudioSource>();
Debug.Log(audiSource.timeSamples);
}
此脚本始终返回零。
有没有办法在其父级禁用之前获取音频源播放的音频的当前播放时间?
我有这个游戏对象,它具有播放声音的音频源组件,我想在游戏对象被禁用之前获取声音的当前播放时间。我已经尝试过,void OnDisable()
但它不起作用。
void OnDisable()
{
AudioSource audiSource = GetComponent<AudioSource>();
Debug.Log(audiSource.timeSamples);
}
此脚本始终返回零。
我认为您基本上是在创建对该AudioSource
对象的新引用。
你的班级应该是这样的:
AudioSource _audioSource;
void Start(){
_audioSource=GetComponent<AudioSource>();
}
void OnDisable(){
Debug.Log(_audioSource.timeSamples);
}
检查 AudioSource 是否有附加到 Clip 属性的声音。AudioSource.timeSamples 似乎仅在声音应用于 Clip 字段时才有效,无论是在检查器中还是通过脚本。如果您使用 AudioSource.PlayOneShot,您将始终得到 0。