这是我参与8月更文挑战的第15天,活动详情查看:8月更文挑战
Unity 支持的音频格式
- AIFF: 最适合短音效果 可以在编辑器中按需求压缩
- WAV: 最适合短音效果 可以在编辑器中按需求压缩
- MP3: 最适合较长的音乐曲目
- OGG: 压缩音频格式(与iPhone设备和某些Android设备不兼容),最适合较长音乐
相关组价介绍
在Unity中播放声音的前提是同时具有三个组件 :
- AudioListener:用于接接收AudioAource 组件播放声音,然后通过声卡进行输出。此组件通常会在创建场景时自动被添加到主摄像机上。
- AudioClip:指需要播放的各种格式的声音文件 。
- AudioSource:用于进行声音播放组件,可以控制播放,暂停,音量调等。
Audiosource 组件编辑器上的一些主要属性
- Mute:静音开关
- Play On Awake :此对象在生命周期中的Awake处开始播放
- Loop: 是否循环播放
- Volume:音量大小调节
- Pitch:用于调节音调
- Stereo Pan:立体声道调整,小于0偏左声道,大于0偏右声道
代码播放音频
实现步骤:
- 创建“GameObject”,并在其身上挂载
Audio Source组件 - 将音频导入Unity工程,并赋值给
Audio Source组件的AudioClip属性 - 创建脚本AudioTest,并挂载到“GameObject”,编写脚本后运行程序即可
示例: 运行程序,点击鼠标左键开始播放声音,点击右键暂停播放:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AudioTest : MonoBehaviour
{
// 音频组件
private AudioSource audioSource;
void Start()
{
// 获取组件
audioSource = GetComponent<AudioSource>();
// 音量调到最大
audioSource.volume = 1;
// 设置为循环播放
audioSource.loop = true;
// 关闭启动自动播放
audioSource.playOnAwake = false;
// 停止播放音效
audioSource.Stop();
}
// Update is called once per frame
void Update()
{
// 点击鼠标左键
if (Input.GetMouseButtonDown(0))
{
// 播放音效
audioSource.Play();
}
// 点击鼠标右键
else if (Input.GetMouseButtonDown(1))
{
// 停止播放音效
audioSource.Stop();
}
}
}