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(); //手机的震动效果。

Unity3d之音效播放和调用手机震动的更多相关文章

  1. html5调用手机震动

    在h5里面里面,浏览器对象有个vibrate属性.顾名思义,翻译过来就是震动的意思,这个api属性方法如下: 要调用的例子 if (window.navigator.vibrate) window.n ...

  2. Delphi XE5 Android 调用手机震动

    uses Androidapi.JNI.Os, Androidapi.JNIBridge; function GetVibratorArray(const AIntArr: array of Int6 ...

  3. Delphi XE5 Android 调用手机震动(通过JObject测试是否支持震动)

    源码如下: uses Androidapi.JNI.Os, Androidapi.JNIBridge; function GetVibratorArray(const AIntArr: array o ...

  4. html5的navigator调用手机震动

    navigator.vibrate(s) 或 navigator.webkitVibrate(s),不过该属性只在安卓系统有效.

  5. OC-系统音效播放

      一.介绍 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service).System Soun ...

  6. [Unity3D]Unity+Android交互教程——让手机"动"起来

    想要用Unity实现一个二维码扫描的功能,然后网上找插件,找到一个貌似叫EasyCodeScanner,但下载下来用用,真不好使,一导入运行就报错,调好错了再运行发现点按钮没反应,反复试了几遍发现还是 ...

  7. iOS - AudioServicesPlay 短频音效播放

    前言 extern void AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID) __OSX_AVAILABLE_STARTING(_ ...

  8. Unity3D音乐音效学习笔记

    对于Unity3D的音乐音效这块一直没有好好的看过,现在准备好好的研究一下,并作为一个笔记记录下. 支持格式 在游戏中,一般存在两种音乐,一种是时间较长的背景音乐,一种是时间较短的音效(比如按钮点击, ...

  9. iOS播放系统声音和震动

    在需要声音的类的.h文件中添加     #import <AudioToolbox/AudioToolbox.h>static SystemSoundID shake_sound_male ...

随机推荐

  1. 【转载】Android通过ksoap2调用.net(c#)的webservice

    转载自:http://www.cnblogs.com/badtree/articles/3242842.html ■下载 ksoap2-android 包 去http://code.google.co ...

  2. spark 集合交集差集运算

    intersect except是spark提供的集合差集运算, 但是要求参与运算的两个dataframe,有相同的data Schema. 如果我想从 集合1(attribute1, attribu ...

  3. C语言中的堆与栈20160604

    首先声明这里说的是C语言中的堆与栈,并不是数据结构中的!一.前言介绍:C语言程序经过编译连接后形成编译.连接后形成的二进制映像文件是静态区域由代码段和数据段(由二部分部分组成:只读数据 段,未初始化数 ...

  4. 北京汽车官网经销商信息抓取(解析html标签)

    1.网站地址http://www.baicmotor.com/dealer.php 2.使用firefox查看后发现,此网站的信息未使用json数据,而是简单那的html页面而已 3.使用pyquer ...

  5. unix的策略与机制

    策略同机制分离,接口同引擎分离 Linux/Unix设计理念提供的一种机制不是策略.如果说机制是一种框架,那么,策略就是填充框架的一个个具体实施.机制提供的就是一种开放而宽松的环境,而策略就是在这个环 ...

  6. Linux下如何查看JDK安装路径

    1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localho ...

  7. RMAN 报:ORA-19504 ORA-27038

    在itpub中看到下面的问题: oracle 10g备份脚本如下run{allocate channel d1 device type disk MAXPIECESIZE=100M;crosschec ...

  8. jQuery插件实例一:年华时代插件Alert对话框

    在工作中使用jQuery插件相信对于程序员来说非常普遍,在网络上也有很多优秀的插件可供大家使用,功能非常强大.在之前用过的一些插件中,有些太过追求功能的强大和可配置性,造成使用的复杂度上升.个人认为与 ...

  9. 25.usb固件深入

    dscr51里放的是USB描述符表,EZ-USB在重枚举阶段会读取或设置相应的描述符: db    DSCR_DEVICE_LEN          ;; Descriptor length db   ...

  10. “psp”软件需求规约

    1 系统概述 1.1 概述 该产品是基于软件开发的个人软件过程(personal software process)系统.基本信息有软件开发人员,项目经理,研发经理和管理层登录系统后根据各自的相应权限 ...