AudioSource的time及timeSamples的设置是无效的!
gzz100 opened this issue · 5 comments
描述Bug
首先下载音乐的assetbundle然后播放:
_musicAudioSource.timeSamples = 6 * 22050;
_musicAudioSource.Play();
或者
_musicAudioSource.time = 6f;
_musicAudioSource.Play();
音乐还是从头开始播放
运行环境
Windows10/2021.3.33f1
不用ab也是一样 都不生效,附上测试代码:
using UnityEngine;
public class test : MonoBehaviour
{
private AudioSource _musicAudioSource;
public AudioClip testClip = null;
// Start is called before the first frame update
void Start()
{
//init();
_musicAudioSource = base.gameObject.AddComponent<AudioSource>();
_musicAudioSource.clip = null;
_musicAudioSource.loop = false;
_musicAudioSource.volume = 1.0f;
_musicAudioSource.playOnAwake = false;
}
void PlayTest()
{
_musicAudioSource.clip = testClip;
_musicAudioSource.timeSamples = 6 * 22050;
_musicAudioSource.Play();
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonUp(0))
{
PlayTest();
//StartCoroutine(PlayBGMAysnc("Palace"));
}
}
}
你的测试代码我在本地跑了一下 AudioSource如果在未播放状态下设置timeSamples是生效的,否则会默认从头播放。
在设置timeSamples前先停止播放当前Audio问题会修复:
void PlayTest()
{
AudioSource.clip = testClip;
AudioSource.Stop();
AudioSource.timeSamples = 6 * 22050;
AudioSource.Play();
Debug.Log("timeSamples: " + AudioSource.timeSamples);
}
你的测试代码我在本地跑了一下 AudioSource如果在未播放状态下设置timeSamples是生效的,否则会默认从头播放。 在设置timeSamples前先停止播放当前Audio问题会修复: void PlayTest() { AudioSource.clip = testClip; AudioSource.Stop(); AudioSource.timeSamples = 6 * 22050; AudioSource.Play(); Debug.Log("timeSamples: " + AudioSource.timeSamples); }
不行啊 我试过了 加了stop也是从头开始。 webgl和pc的没问题,就是打包后的微信有这个问题,Unity 2021.3.33f1 插件版本:202407090855
这边试了一下确实有问题,我们下个插件版本修复一下
Quote reply
2024-8-13的版本 开发工具里已经没问题,但是上真机微信体验版还是从头开始播放 麻烦看下是不是没有完全修复?