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

106 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System.Collections.Generic;
using System.ComponentModel;
using Cysharp.Threading.Tasks;
using UnityEngine;
public partial class SROptions
{
[Category("音频")]
[DisplayName("音频ID")]
public string AudioKey
{
set;
get;
}
[Category("音频")]
[DisplayName("播放音频")]
public async void Play()
{
int audioID = AudioManager.Instance.PlayAudio(AudioKey);
if (audioID < 0)
{
DebugUtil.LogError("Debug, Audio播放失败请检查AudioID");
}
}
[Category("音频")]
[DisplayName("播放载具停止音频")]
public async void _PlayTest()
{
var audioName = "Sound_armoredcar_stop";
var obj = new GameObject("Test");
var cacheId = AudioManager.Instance.PlayAudio("Sound_armoredcar_moveloop", AudioCriManager.EPlayType.Sound, obj, true);
await UniTask.WaitForSeconds(2);
AudioManager.Instance.StopByID(cacheId);
var cacheId2 = AudioManager.Instance.PlayAudio(audioName, AudioCriManager.EPlayType.Sound, obj);
DebugUtil.LogError("cacheId:" + cacheId + " cacheId2:" + cacheId2);
}
[Category("音频")]
[DisplayName("停止背景音乐")]
public void StopBGM()
{
AudioManager.Instance.AudioMgrObj.StopBGM();
}
[Category("音频")]
[DisplayName("停止所有音频播放")]
public void StopAll()
{
AudioManager.Instance.AudioMgrObj.StopAll();
}
[Category("音频")]
[DisplayName("播放BGM")]
public void PlayBGM()
{
//AudioManager.Instance.StopAll();
AudioManager.Instance.PlayAudio("ui_common_back", AudioCriManager.EPlayType.Sound, null, true);
}
[Category("音频")]
[DisplayName("播放BGM Fader")]
public void PlayBGMFader()
{
//AudioManager.Instance.StopAll();
AudioManager.Instance.PlayAudio("bgm_19", AudioCriManager.EPlayType.Music, null, true);
}
[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");
}
await UniTask.Delay(1000);
AudioManager.Instance.ReleaseStoryAudios();
}
}