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. Linux下自带的regex

    Linux下可直接用regex.h来支持正则表达式. Android同样也有该头文件,可认为Android也是支持的. #include <sys/types.h> #include &l ...

  2. hdu 1029

    #include"stdio.h" int main(void) { int n,x,y,t,i; while(scanf("%d",&n)!=EOF) ...

  3. 利用HttpModule开发asp.net页面、ashx等访问时session失效的统一处理入口

    web程序时,当使用session时总会出现失效而报“未将对象引用设置到对象的实例”的http 500错误,本人比较懒,不想每个地方都用try catch处理,就找到个用httpModule统一处理的 ...

  4. QPBOC扩展应用交易流程

    1 Q扩展部分数据 增加3个DGI,分别为:A001,8020,9020 9103中增加DF60(9F38中),DF61 增加DF62,DF63 1.1  A001扩展应用配置 DGI 长度 值(示例 ...

  5. QTP获取系统时间并自定义格式

    function GetDateTime(Nowstr)          Dim Currentdatetime           Dim YY   'Year          Dim MM   ...

  6. 启动FM预算基金管理模块后,0L总账消失的解决办法

    只要用SE38运行一下:FMGL_CHANGE_APPL_IN_LEDGER 问题就解决了.

  7. bat文件编写(无线承载网络设置)

    就弄个例子,自己看执行效果,然后模仿写就行. 1)获取当前时间: @echo off set YEAR=%date:~0,4% set MONTH=%date:~5,2% set DAY=%date: ...

  8. android开发系列之MVP设计模式

    最近在开发一个android的项目中,发现了一个很实用的设计模式(MVP).大家可能一看到这个名字就有点蒙,MVP到底是什么鬼呢?它的好用到底体现在哪呢?别着急,下面就让我们一一分享出来. 说到MVP ...

  9. iOS学习之C语言分支结构

    一.BOOL类型 返回值:真:YES   假:NO 定义一个布尔类型的变量 YES == 1, NO == 0 计算机在识别时,YES就替换成1,NO就替换成0 BOOL isGirl = YES; ...

  10. 随机四则运算 C语言

    设计思想:出三十道一百以内数的随机四则运算题目,先随机两个一百以内的数字,再通过随机数确定四则运算算符,最后通过for循环输出三十道 源代码程序: #include <stdlib.h># ...