区块链技术博客
www.b2bchain.cn

85.AudioManager 背景音乐播放功能求职学习资料

本文介绍了85.AudioManager 背景音乐播放功能求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

在上一篇,我们完成了音频播放功能呢,并且修复了一个 AudioListener 重复的问题。我们今天再往下接着学习。

AudioManager 的职责,除了播放音效之外,还应该有一个播放背景音乐的功能。不过与播放音效不一样的是,背景音乐一次只能播放一个音乐,也就是当前播放 A 音乐的时候,再播放 B 音乐,那么 A 音乐就应该是停止掉。

实现方式很简单,我们用一个专有的 AudioSource 播放背景音乐就可以了。
代码如下:

        private AudioSource mMusicSource = null;          private AudioListener mAudioListener;          public void PlayMusic(string musicName,bool loop)         {             if (!mAudioListener)             {                 mAudioListener = gameObject.AddComponent<AudioListener>();             }              if (!mMusicSource)             {                 mMusicSource = gameObject.AddComponent<AudioSource>();             }              var coinSound = Resources.Load<AudioClip>(musicName);              mMusicSource.clip = coinSound;             mMusicSource.loop = loop;             mMusicSource.Play();         }

为了测试,我们再准备一个稍微长一点的音频。
85.AudioManager 背景音乐播放功能

006tNc79gy1fzgf5vvme5j305i02f3yf.jpg

接着,我们把示例的代码改成如下:

using UnityEngine;  namespace QFramework {     public class AudioExample : MonoBehaviourSimplify     { #if UNITY_EDITOR         [UnityEditor.MenuItem("QFramework/Example/13.AudioManager", false, 13)]         private static void MenuClicked()         {             UnityEditor.EditorApplication.isPlaying = true;              new GameObject("AudioExample")                 .AddComponent<AudioExample>();         } #endif          private void Start()         {             AudioManager.Instance.PlaySound("coin");             AudioManager.Instance.PlaySound("coin");              Delay(1.0f, () =>             {                 AudioManager.Instance.PlayMusic("home", true);             });         }          protected override void OnBeforeDestroy()         {          }     } }

注意看 AudioExample 我们继承了 MonoBehaviourSimplify,这样做是为了使用延时功能。加上延时功能,是为了让音频听得更清楚。

以上示例执行之后的结果如下:
85.AudioManager 背景音乐播放功能

006tNc79gy1fzgf5y9sk6j30m10at0u8.jpg

这样,我们的播放音乐的功算是完成了。

但是呢,我们的代码有一点重复,观察如下代码。
“`cs
public void PlayMusic(string musicName,bool loop)
{

在上一篇,我们完成了音频播放功能呢,并且修复了一个 AudioListener 重复的问题。我们今天再往下接着学习。

AudioManager 的职责,除了播放音效之外,还应该有一个播放背景音乐的功能。不过与播放音效不一样的是,背景音乐一次只能播放一个音乐,也就是当前播放 A 音乐的时候,再播放 B 音乐,那么 A 音乐就应该是停止掉。

实现方式很简单,我们用一个专有的 AudioSource 播放背景音乐就可以了。
代码如下:

        private AudioSource mMusicSource = null;          private AudioListener mAudioListener;          public void PlayMusic(string musicName,bool loop)         {             if (!mAudioListener)             {                 mAudioListener = gameObject.AddComponent<AudioListener>();             }              if (!mMusicSource)             {                 mMusicSource = gameObject.AddComponent<AudioSource>();             }              var coinSound = Resources.Load<AudioClip>(musicName);              mMusicSource.clip = coinSound;             mMusicSource.loop = loop;             mMusicSource.Play();         }

为了测试,我们再准备一个稍微长一点的音频。
85.AudioManager 背景音乐播放功能

006tNc79gy1fzgf5vvme5j305i02f3yf.jpg

接着,我们把示例的代码改成如下:

using UnityEngine;  namespace QFramework {     public class AudioExample : MonoBehaviourSimplify     { #if UNITY_EDITOR         [UnityEditor.MenuItem("QFramework/Example/13.AudioManager", false, 13)]         private static void MenuClicked()         {             UnityEditor.EditorApplication.isPlaying = true;              new GameObject("AudioExample")                 .AddComponent<AudioExample>();         } #endif          private void Start()         {             AudioManager.Instance.PlaySound("coin");             AudioManager.Instance.PlaySound("coin");              Delay(1.0f, () =>             {                 AudioManager.Instance.PlayMusic("home", true);             });         }          protected override void OnBeforeDestroy()         {          }     } }

注意看 AudioExample 我们继承了 MonoBehaviourSimplify,这样做是为了使用延时功能。加上延时功能,是为了让音频听得更清楚。

以上示例执行之后的结果如下:
85.AudioManager 背景音乐播放功能

006tNc79gy1fzgf5y9sk6j30m10at0u8.jpg

这样,我们的播放音乐的功算是完成了。

但是呢,我们的代码有一点重复,观察如下代码。
“`cs
public void PlayMusic(string musicName,bool loop)
{

在上一篇,我们完成了音频播放功能呢,并且修复了一个 AudioListener 重复的问题。我们今天再往下接着学习。

AudioManager 的职责,除了播放音效之外,还应该有一个播放背景音乐的功能。不过与播放音效不一样的是,背景音乐一次只能播放一个音乐,也就是当前播放 A 音乐的时候,再播放 B 音乐,那么 A 音乐就应该是停止掉。

实现方式很简单,我们用一个专有的 AudioSource 播放背景音乐就可以了。
代码如下:

        private AudioSource mMusicSource = null;          private AudioListener mAudioListener;          public void PlayMusic(string musicName,bool loop)         {             if (!mAudioListener)             {                 mAudioListener = gameObject.AddComponent<AudioListener>();             }              if (!mMusicSource)             {                 mMusicSource = gameObject.AddComponent<AudioSource>();             }              var coinSound = Resources.Load<AudioClip>(musicName);              mMusicSource.clip = coinSound;             mMusicSource.loop = loop;             mMusicSource.Play();         }

为了测试,我们再准备一个稍微长一点的音频。
85.AudioManager 背景音乐播放功能

006tNc79gy1fzgf5vvme5j305i02f3yf.jpg

接着,我们把示例的代码改成如下:

using UnityEngine;  namespace QFramework {     public class AudioExample : MonoBehaviourSimplify     { #if UNITY_EDITOR         [UnityEditor.MenuItem("QFramework/Example/13.AudioManager", false, 13)]         private static void MenuClicked()         {             UnityEditor.EditorApplication.isPlaying = true;              new GameObject("AudioExample")                 .AddComponent<AudioExample>();         } #endif          private void Start()         {             AudioManager.Instance.PlaySound("coin");             AudioManager.Instance.PlaySound("coin");              Delay(1.0f, () =>             {                 AudioManager.Instance.PlayMusic("home", true);             });         }          protected override void OnBeforeDestroy()         {          }     } }

注意看 AudioExample 我们继承了 MonoBehaviourSimplify,这样做是为了使用延时功能。加上延时功能,是为了让音频听得更清楚。

以上示例执行之后的结果如下:
85.AudioManager 背景音乐播放功能

006tNc79gy1fzgf5y9sk6j30m10at0u8.jpg

这样,我们的播放音乐的功算是完成了。

但是呢,我们的代码有一点重复,观察如下代码。
“`cs
public void PlayMusic(string musicName,bool loop)
{

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 85.AudioManager 背景音乐播放功能求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们