• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Unity 3D通过脚本控制音频音量、继续、暂停、停止播放;判断当前音乐是否播放;切换音乐;

武飞扬头像
杜星 星
帮助1

  1.  
     
  2.  
    /// <summary>记录当前所选音乐</summary>
  3.  
    public int mu;
  4.  
    public AudioClip[] musics;//切歌
  5.  
    void Start()
  6.  
     
  7.  
    {
  8.  
    am = GameObject.Find("MainCamera").GetComponent<AudioSource>();//初始化,找到 am,Audiolistener在Camera上
  9.  
    }
  10.  
    /// <summary>
  11.  
    /// 暂停音乐
  12.  
    /// </summary>
  13.  
    public void pausemusic()
  14.  
    {
  15.  
    am.Pause();//停止正在播放的声音
  16.  
    }
  17.  
    /// <summary>
  18.  
    /// 继续播放am中的声音
  19.  
    /// </summary>
  20.  
    public void playmusic()
  21.  
    {
  22.  
    am.Play();
  23.  
    }
  24.  
    /// <summary>
  25.  
    /// 停止播放音乐
  26.  
    /// </summary>
  27.  
    public void stopmusic()
  28.  
    {
  29.  
    am.Stop();//停止正在播放的声音
  30.  
    }
  31.  
    /// <summary>
  32.  
    /// 调节音量
  33.  
    /// </summary>
  34.  
    /// <param name="v"></param>
  35.  
    public void changevoice(float v)
  36.  
    {
  37.  
    am.volume = v;
  38.  
    }
  39.  
    /// <summary>
  40.  
    /// 切换音乐
  41.  
    /// </summary>
  42.  
    public void nextmusic()
  43.  
    {
  44.  
    mu = (mu 1) % 3;
  45.  
    am.clip = musics[mu];
  46.  
    am.Play();
  47.  
    switch (mu)
  48.  
    {
  49.  
    case 0:
  50.  
    {
  51.  
    _Musicname.text = "第一首";
  52.  
    }
  53.  
    break;
  54.  
    case 1:
  55.  
    {
  56.  
    _Musicname.text = "第二首";
  57.  
    }
  58.  
    break;
  59.  
    case 2:
  60.  
    {
  61.  
    _Musicname.text = "第三首";
  62.  
    }
  63.  
    break;
  64.  
    default:
  65.  
    break;
  66.  
    }
  67.  
    }
  68.  
    void Update()
  69.  
    {
  70.  
    if (am.isPlaying)
  71.  
    {
  72.  
    Debug.Log("正在播放");
  73.  
    }
  74.  
    if (!am.isPlaying)
  75.  
    {
  76.  
    Debug.Log("没有播放")
  77.  
    }
  78.  
    }
学新通

演示

在HideInInspector中将三首音乐拖到音乐组中,自定义音乐数量也可以,需要修改代码中切换音乐函数中的部分内容。调用脚本中的函数即可实现对应功能。

重复播放音乐代码如下

am.loop = true;//循环播放音乐

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbgajj
系列文章
更多 icon
同类精品
更多 icon
继续加载