NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Debug/SROptions.Audio.cs

75 lines
1.8 KiB
C#
Raw Normal View History

using System.Collections.Generic;
2024-07-08 15:28:18 +08:00
using System.ComponentModel;
using Cysharp.Threading.Tasks;
2024-07-08 15:28:18 +08:00
public partial class SROptions
{
[Category("音频")]
[DisplayName("音频ID")]
2024-07-24 16:41:58 +08:00
public string AudioKey
2024-07-08 15:28:18 +08:00
{
set;
get;
}
[Category("音频")]
[DisplayName("播放音频")]
public async void Play()
{
2024-07-24 16:41:58 +08:00
int audioID = AudioManager.Instance.PlayAudio(AudioKey);
2024-07-08 15:28:18 +08:00
if (audioID < 0)
{
DebugUtil.LogError("Debug, Audio播放失败请检查AudioID");
}
}
2024-07-08 16:47:36 +08:00
[Category("音频")]
[DisplayName("停止背景音乐")]
public void StopBGM()
{
AudioManager.Instance.AudioMgrObj.StopBGM();
}
[Category("音频")]
[DisplayName("停止所有音频播放")]
public void StopAll()
{
AudioManager.Instance.AudioMgrObj.StopAll();
}
2024-08-06 13:40:53 +08:00
[Category("音频")]
[DisplayName("多个音频同时播放")]
public async void PlayMany()
{
List<AudioInst> audios = new();
for (int i = 0; i < 10; i++)
{
var audio = AudioManager.Instance.GetStoryAudioInst();
audios.Add(audio);
}
await UniTask.Delay(1000);
for (int i = 0; i < 10; i++)
{
var audio = audios[1];
//audio.Stop();
await UniTask.DelayFrame(2);
audio.Play("CueSheet_Sound", "Sound_Shoot_3_1");
}
await UniTask.Delay(1000);
for (int i = 0; i < 10; i++)
{
var audio = audios[2];
//audio.Stop();
await UniTask.DelayFrame(2);
audio.Play("CueSheet_Sound", "Sound_Shoot_3_1");
}
2024-08-06 13:40:53 +08:00
await UniTask.Delay(1000);
AudioManager.Instance.ReleaseStoryAudios();
2024-08-06 13:40:53 +08:00
}
2024-07-08 15:28:18 +08:00
}