unity3D 点击按钮 播放音频

实践中记录以便后续查阅。

1、 将.mp3文件拷贝到项目的ASSET文件夹中。在unity3d—>Asset,会看到处理后的音频文件。在模型上添加Audio Source组件,在相机上添加Audio Listener组件。(具体步骤百度)

2、在按钮点击响应事件中写入相应的动作

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class AddNewButton : MonoBehaviour 
{
    
    public bool WindowShow = false;   
    public bool isdown = false;     
    private AudioSource _audioSource = null;

    void Start()
    {
        isShowTip = false;
    }
    
    void OnGUI()
    {
        if (WindowShow)
        {
            

            //监听按钮点击事件
            if (GUI.Button(new Rect(450, 100, 400, 180), "查看详情"))
            {
                isdown = true;
            }
            if(isdown)
            {
               
                //添加 Audio Source 组件
                _audioSource = this.gameObject.AddComponent<AudioSource>();
                //加载 Audio Clip 对象
                AudioClip audioClip = Resources.Load<AudioClip>("sound1");
                //播放声音
                _audioSource.loop = true;
                _audioSource.clip = audioClip;
                _audioSource.Play(0);
            }
        }
    }

    //鼠标点击事件
    void OnMouseDown()
    {
        Debug.Log("show");
        if (WindowShow)
        {
            
            WindowShow = false;
        }
        else
            WindowShow = true;
    }
    
}

3、以上运行可能会出现两个问题:一个是还没有按下按钮就开始自动播放,那么可以在添加组件的模型下,将play on awake 取消勾选。如图:

其它设置自行查阅文档。https://blog.csdn.net/fansongy/article/details/51759563

另一个是取消以后就无法播放,那是因为路径问题。如下:

//加载 Audio Clip 对象
AudioClip audioClip = Resources.Load<AudioClip>("sound1");

必须将你AudioClip(也就是将.mp3文件添加到Asset文件夹后自动生成的AudioClip)拖放到Resources文件下才可以。、

4、暂停等其它操作参考https://docs.unity3d.com/ScriptReference/AudioSource.html

  • 14
    点赞
  • 137
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值