unity3D中音频播放的开发

Unity3D游戏引擎一共支持4个音乐格式的文件

.AIFF  适用于较短的音乐文件可用作游戏打斗音效

.WAV  适用于较短的音乐文件可用作游戏打斗音效

.MP3  适用于较长的音乐文件可用作游戏背景音乐

.OGG  适用于较长的音乐文件可用作游戏背景音乐

在场景中创建一个空的游戏对象。

GameObject -> CreateEmpty  创建成功后我命名为audio。

给audio添加一个AudioSource属性,这个属性非常的重要,Unity播放音乐主要就是要靠这个东西。

Component -> Audio – > Audio Source。

找一个音乐文件,我这里使用了一个.mp3音乐文件,我命名为0.mp3 如下图所示将它拖动到右侧Audio Clip处。

Audio Source 有很多设置的属性,那么MOMO将一些比较重要的属性诺列出来。

 

AudioClip :声音片段,还可以在代码中去动态的截取音乐文件。

Mute : 是否静音

Bypass Effects: 是否打开音频特效

Play On Awake: 开机自动播放

Loop:循环播放

Volume: 声音大小,取值范围0.0 到 1.0

Pitch:播放速度,取值范围在 -3 到 3 之间 设置1 为正常播放,小于1 为减慢播放 大于1为加速播放。创建一个脚本我命名为audio.cs 用来音乐的播放。本章将实现3个按钮 点击实现 播放音乐、 停止音乐、 暂停音乐 ,与一个横向拖动条通过手指的拖动实现动态修改音乐声音。

audio.cs 

 

using UnityEngine;

using System.Collections;

 

public class audio : MonoBehaviour {

 

    //音乐文件

    public AudioSource music;

    //音量

    public float musicVolume;

 

    void Start() {

    //设置默认音量

    musicVolume = 0.5F;

    }

void OnGUI() {

 

//播放音乐按钮

if (GUI.Button(new Rect(10, 10, 100, 50), "Play music"))  {

 

//没有播放中

if (!music.isPlaying){

//播放音乐

music.Play();

}

 

}

 

//关闭音乐按钮

if (GUI.Button(new Rect(10, 60, 100, 50), "Stop music"))  {

 

if (music.isPlaying){

//关闭音乐

music.Stop();

}

}

//暂停音乐

if (GUI.Button(new Rect(10, 110, 100, 50), "Pause music"))  {

if (music.isPlaying){

//暂停音乐

//这里说一下音乐暂停以后

//点击播放音乐为继续播放

//而停止以后在点击播放音乐

//则为从新播放

//这就是暂停与停止的区别

music.Pause();

}

}

 

//创建一个横向滑动条用于动态修改音乐音量

//第一个参数 滑动条范围

//第二个参数 初始滑块位置

//第三个参数 起点

//第四个参数 终点

musicVolume = GUI.HorizontalSlider (new Rect(160, 10, 100, 50), musicVolume, 0.0F, 1.0F);

 

//将音量的百分比打印出来

GUI.Label(new Rect(160, 50, 300, 20), "Music Volueme is " + (int)(musicVolume * 100) + "%");

 

if (music.isPlaying){

//音乐播放中设置音乐音量 取值范围 0.0F到 1.0

music.volume = musicVolume;

}

}

}

 

将audio.cs 绑定在摄像头上,将audio游戏对象拖动赋值给Music 这个AudioSource这个对象。这里强调一下AudioListenr ,它音频监听器,用来监听音乐文件的播放。这是一个重要的属性,一定要勾选,只有勾选后才可以进行音乐的播放。

 

posted on 2014-04-15 08:58  连一粝  阅读(761)  评论(0编辑  收藏  举报

导航