经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » unity » 查看文章
Unity常用音频操作类示例代码
来源:jb51  时间:2021/7/21 14:34:23  对本文有异议

下面通过代码给大家介绍Unity常用音频操作类,具体代码如下所示:

  1. using UnityEngine;
  2. using System.Collections;
  3. public class AudioPlay : MonoBehaviour {
  4. public static AudioPlay Instance;
  5. public AudioClip[] FuChuAudio;
  6. public AudioSource FCAudio;
  7. // public AudioSource BabyAudio;
  8. // Use this for initialization
  9. void Awake()
  10. {
  11. Instance = this;
  12. }
  13. void Start () {
  14. }
  15. // Update is called once per frame
  16. void Update () {
  17. }
  18. /// <summary>
  19. /// 播放某个音频
  20. /// </summary>
  21. /// <param name="i"></param>
  22. public void playAudio(int i)
  23. {
  24. FCAudio.clip = FuChuAudio[i];
  25. FCAudio.Play();
  26. }
  27. /// <summary>
  28. /// 停止播放所有的音频
  29. /// </summary>
  30. public void StopplayAll()
  31. {
  32. for (int i= 0; i< FuChuAudio.Length; i++)
  33. {
  34. FCAudio.clip = FuChuAudio[i];
  35. FCAudio.Stop();
  36. }
  37. }
  38. /// <summary>
  39. /// 停止播放某个音频
  40. /// </summary>
  41. /// <param name="i"></param>
  42. public void StopplayOne(int i)
  43. {
  44. FCAudio.clip = FuChuAudio[i];
  45. FCAudio.Stop();
  46. }
  47. /// <summary>
  48. /// 循环播放某个音频
  49. /// </summary>
  50. /// <param name="i"></param>
  51. public void playLoop(int i)
  52. {
  53. FCAudio.clip = FuChuAudio[i];
  54. FCAudio.loop = true;//设置声音为循环播放 ;
  55. FCAudio.Play();
  56. }
  57. }
  1. /***将这个脚本挂载到一个空物体上,并且给它添加 AudioSource 组件*/using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. /// <summary>
  5. /// 控制所有音乐的管理类
  6. /// </summary>
  7. public class AudioManager : MonoBehaviour
  8. {
  9. //将要轮流播放的音乐组
  10. public AudioClip[] audioGroup;
  11. //当前播放的是谁
  12. private int playingIndex;
  13. //是否允许播放音乐
  14. private bool canPlayAudio;
  15. //AudioSource组件
  16. private AudioSource audioSource;
  17. //-----------------------------------------------------
  18. void Start()
  19. {
  20. audioSource = this.GetComponent<AudioSource>();
  21. canPlayAudio = true;
  22. playingIndex = 0;
  23. }
  24. //-----------------------------------------------------
  25. void Update()
  26. {
  27. if (canPlayAudio)
  28. {
  29. PlayAudio();
  30. canPlayAudio = false;
  31. }
  32. if (!audioSource.isPlaying)
  33. {
  34. playingIndex++;
  35. if (playingIndex >= audioGroup.Length)
  36. {
  37. playingIndex = 0;
  38. }
  39. canPlayAudio = true;
  40. }
  41. }
  42. //-----------------------------------------------------
  43. private void PlayAudio()
  44. {
  45. audioSource.clip = audioGroup[playingIndex];
  46. audioSource.Play();
  47. }
  48. //-----------------------------------------------------
  49. }

到此这篇关于Unity常用音频操作类示例代码的文章就介绍到这了,更多相关Unity音频内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号