实践中记录以便后续查阅。
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