AudioToolKit的简单介绍及教程

(2013-02-21 09:29:18)

原创文章如需转载请注明:转载自风宇冲Unity3D教程学院

 
                          AudioToolKit
 
AudioToolKit是一款比较方便的音频管理插件,本文提供介绍和使用方法讲解,不提供插件。该插件全部由代码组成,附带demo. 
AudioToolKit并不是一款没有它你就做不了的插件,它主要是省些代码及可视化管理。
优点:
(1)通过Category管理音频,不需要为音频管理另外写专门脚本。
(2)Pitch并不是按Unity自带的AudioSource里的pitch speed,而是按音乐里的半音程来设置,更实用些。
 
【配置】
(1)创建一个GameObject并命名为AudioController,并添加 插件的AudioController脚本。
(2)指定AudioObjectPrefab,这里用插件自带的prefab即可,
 
或者自己新建一个GamObject然后添加AudioObject脚本,AudioSource会被自动添加(AudioSource不要作任何如AudioClip之类的设置)如果需要池就添加插件的PoolableObject脚本
 
(3)创建一个类别
(4)创建一个AudioItem
注意: AudioItem不能重名,即使是不同的Catagory
(5)创建一个Audio Sub-Item, Audio Sub-Item是真正指定音频文件的地方。
基本设置到这就完成了,可以正常使用了,还可以根据需求调整参数
 
【使用】

1  播放AudioItem:

AudioController.Play( "MyUniqueAudioItemName" )

2  播放唯一的Music:

AudioController.PlayMusic( "MusicAudioItemName" )

注意:AudioController.Play播放的音效是互不影响,可以叠加的,而AudioController.PlayMusic只播放当前的唯一音乐,并且自动处理淡入淡出等。

3  播放列表:

PlayList实际上就是string数组,PlayList里的音乐可以在不同的Category里。

  1. void SetAndPlay()
  2. {
  3. string[] playList = new string[2];
  4. playList[0] = "01";
  5. playList[1] = "02";
  6. AudioController.SetMusicPlaylist(playList);
  7. AudioController.PlayMusicPlaylist();
  8. }
之后播放下一首 AudioController.PlayNextMusicOnPlaylist();

4 更多例子:

AudioController.Play( "MySoundEffect1" );

AudioController.Play( "MySoundEffect2", new Vector3( posX, posY, posZ ) );

AudioController.PlayMusic( "MusicTrack1" );

AudioController.SetCategoryVolume( "Music", 0.5f );

AudioController.PauseMusic();

改变Pitch

(1) 用unity自带的AudioSource里的pitch改

  1. AudioObject obj = AudioController.Play("01");
  2. obj.audio.pitch = 0.3f;

(2) 使用AudioToolKit的初始pitch设置(下图的Pitch Shift), 或者随机pitch设置(下图的Random Pitch),均以

半音程为1个单位。

(3)

AudioObject obj = AudioController.Play("Sound1");

obj.audio.pitch = AudioObject.TransformPitch(10);

AudioToolKit的简单介绍及教程的更多相关文章

  1. [转帖]MyCat教程【简单介绍】

    MyCat教程[简单介绍] 2019-10-15 10:27:23 波波烤鸭 阅读数 618 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...

  2. Duilib教程-简单介绍

    在读这篇博客的时候,可能您已经对duilib有一定的了解.所以,我并不打算对duilib进行过多的介绍.它的内核首先由外国人编写,后来由国人一个小组接过来继续编写,于是就有了现在的Duilib. 1. ...

  3. SQLite数据库和JPA简单介绍

    SQLite数据库和JPA简单介绍 一.SQLite简单使用 SQLite是遵循ACID的关系数据库管理系统,它的处理速度很快,它的设计目标是嵌入式的,只需要几百K的内存就可以了. 1.下载SQLit ...

  4. Android发展简单介绍

    Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...

  5. OpenCV 编程简单介绍(矩阵/图像/视频的基本读写操作)

    PS. 因为csdn博客文章长度有限制,本文有部分内容被截掉了.在OpenCV中文站点的wiki上有可读性更好.而且是完整的版本号,欢迎浏览. OpenCV Wiki :<OpenCV 编程简单 ...

  6. 【浅墨著作】《OpenCV3编程入门》内容简单介绍&amp;勘误&amp;配套源码下载

    经过近一年的沉淀和总结,<OpenCV3编程入门>一书最终和大家见面了. 近期有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的文件夹,方便大家更好的了解这本书的内容.事实上近 ...

  7. BST&AVL&红黑树简单介绍

    (BST&AVL&红黑树简单介绍) 前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm ...

  8. Deep learning:三十八(Stacked CNN简单介绍)

    http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络 ...

  9. asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

    最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...

随机推荐

  1. 【函数式权值分块】【分块】bzoj1901 Zju2112 Dynamic Rankings

    论某O(n*sqrt(n))的带修改区间k大值算法. 首先对序列分块,分成sqrt(n)块. 然后对权值分块,共维护sqrt(n)个权值分块,对于权值分块T[i],存储了序列分块的前i块的权值情况. ...

  2. 【棋盘DP】【OpenJudge7614】最低通行费

    最低通行费 总时间限制: 1000ms 内存限制: 65536kB [描述] 一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动.他要从网格的左上角进,右下角出.每穿越中间1个小方 ...

  3. Python的编码注释# -*- coding:utf-8 -*-

    # -*- coding:utf-8 -*-的主要作用是指定文件编码为utf-8, 因为一般默认的是ASCII码,如果要在文件里面写中文,运行时会出现乱码,加上这句之后会把文件编码强制转换为utf-8 ...

  4. 在WinRT程序中使用MEF

    今天试了一下在WinRT中使用MEF,这里简单的介绍一下步骤. 首先,使用NuGet安装MEF 然后,就可以使用MEF组装插件了,简单的示例如下: interface ILogger    {     ...

  5. 在PC机上,如何用Chrome浏览器模拟查看和调试手机的HTML5页面?

    如题,如何用PC机上的Chrome浏览器模拟查看和调试手机HTML5页面? 参考操作步骤如下: 第一步.用Chrome打开要调试的页面: 第二步.按F12,打开“开发者工具”,点击其右上角的“Dock ...

  6. checkbox与文字对齐方式(同样可用于radio单选框)

    checkbox 在chrome 和 firefox中 间距是由margin撑开, IE中则是由padding,并且无法设置边框:   主要参考大神的博客,http://www.zhangxinxu. ...

  7. Swift,闭包

    闭包(相当于匿名函数)的几种情况 利用sorted()排序方法来进行示例 1.sorted()正常引用的情况 var str=["d","a","c& ...

  8. 前端传递参数,由于控制器层类实现了struts2的ModelDriven而产生的一个异常

    产生的异常如下: ognl.MethodFailedException: Method "setId" failed for object com.aliyun.pcitcAliy ...

  9. Anaconda 介绍及安装

    一.前言 Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候.为了解决这些问题,有不少发行版的Python,比如WinPython ...

  10. 使用hadoop平台进行小型网站日志分析

    0.上传日志文件到linux中,通过flume将文件收集到hdfs中. 执行命令/home/cloud/flume/bin/flume-ng agent -n a4 -c conf -f /home/ ...