首页 > 代码库 > Unity3d之音效播放和调用手机震动

Unity3d之音效播放和调用手机震动

http://blog.csdn.net/sunshine_1984/article/details/12943979

今天研究了下Unity3d音效播放相关内容,整理下实现细节。

1,添加音效文件到Assets/Resources目录,我这里添加到Assets/Resources/audio目录了。

2,新建C# Script命名为audio

3,编写audio.cs代码如下(里面注释很清楚了):

using UnityEngine;
using System.Collections;


public class audio : MonoBehaviour {
    //音乐文件  
    public AudioSource music;
    //音量  
    public float musicVolume;  
// Use this for initialization
void Start () {
        //this.gameObject.AddComponent("AudioSource");
        music = this.gameObject.AddComponent("AudioSource") as AudioSource;
        music.clip = Resources.Load("audio/test") as AudioClip;
        music.playOnAwake = false;
        music.loop = false;
        //设置默认音量 
        musicVolume = 0.2F; 
}

// Update is called once per frame
void Update () {

}


    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;
        }
    }  
}

4,关联audio.cs到Main Camera

 

调用手机震动器api如下:Handheld.Vibrate(); //手机的震动效果。