大多数在线Unity有关如何只教程Unity在播放音乐。之后如何通过拖动它们无法继续添加音频文件

但有时在游戏中的对象要玩几个声音。这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法就显得不是那么有用了

所以本篇将重点讲述怎样在Unity中创建一个最简化的音频播放器,并通过代码进行动态载入与播放

①创建一个Empty对象 点击菜单条[GameObject]–>Create Empty 命名为Audio

②选取这个空对象 点击菜单条[Component]–>Audio–>Audio Source 这样就在场景里创建了如图所看到的的一个喇叭

③创建资源目录命名为Resources,并把BeiTown.mp3文件拖入当中,注意一定要将资源目录名设为Resources,否则Resources.Load方法将无法找到资源文件

④创建脚本

接下来開始创建脚本

MusicPlayer.cs

1

2

3

4

5

6

7

8

9

10

11

12

13

14
using UnityEngine;

using System.Collections;



public class MusicPlayer : MonoBehaviour {



    public AudioSource Sound;



    public void Play(string str)

    {

        Sound.clip = (AudioClip)Resources.Load(str, 

q=typeof+msdn.microsoft.com">typeof(AudioClip));//调用Resources方法载入AudioClip资源

        Sound.Play();

    }



}

MusicTest.cs

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24
using UnityEngine;

using System.Collections;



public class MusicTest : MonoBehaviour {



    private MusicPlayer music;



    void Start () {

    

        music = (GetComponent("MusicPlayer") as MusicPlayer);//获取播放器对象



    }



    void OnGUI()

    {

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



            music.Play("BeiTown");//调用播放器Play方法



        }



    }



}

⑤将脚步绑定到AudioSource音源对象上。并将Audio对象赋给MusicPlayer脚本里的Sound对象,以便MusicPlayer对其进行操作

⑥点击播放button

这个时候就能听到声音了,可是细心的朋友会发现左右耳朵的声音并非一样大的,这是由于我们的声音监听绑定在了主摄像机上。这就照成了声音可能是从一个方向传来的3D效果,假设不想要这个效果也好办

选取Audio对象,点击菜单条[Commponent]–>Audio–>Audio Listener

为Audio对象创建一个声音监听。并勾选它

又一次点击播放button,这个时候发现依旧没有改变。控制台出现例如以下警告:There are 2 audio listeners in the scene. Please ensure there is always exactly one audio listener in the scene.

不要着急,Main Camera 主摄像机上的Audio Listen 取消勾选了么

Unity默认一个scene里同一时候仅仅能有一个声音监听。事实上这也非常好理解,在自然情况下,人类也不可能做到两仅仅耳朵听取不同范围的声音(借助设备除外)

将其它的Audio Listener取消后,仅仅保留Audio上的Audio Listener,点击Playbutton,一切正常!

其它的暂停,停止,等等操作这里就不再加入了,感兴趣的朋友能够自己參考API进行操作,本文主要描写叙述怎样动态载入一首音乐。并将该类进行封装,同一时候最简化的代码也我们理解有利于手表。

今天,就在这里。旨在分享。和共勉之王。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Unity3D音频播放器 动态装载组件的更多相关文章

  1. IOS开发之简单音频播放器

    今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...

  2. OCiOS开发:音频播放器 AVAudioPlayer

    简单介绍 AVAudioPlayer音频播放器可以提供简单的音频播放功能.其头文件包括在AVFoudation.framework中. AVAudioPlayer未提供可视化界面,须要通过其提供的播放 ...

  3. 基于c开发的全命令行音频播放器

    cmus是一个内置了音频播放器的强大的音乐文件管理器.用它的基于ncurses的命令行界面,你可以浏览你的音乐库,并从播放列表或队列中播放音乐,这一切都是在命令行下. Linux上安装cmus 首先, ...

  4. HTML5 音频播放器-Javascript代码(短小精悍)

    直接上干货咯! //HTML5 音频播放器 lzpong 2015/01/19 var wavPlayer = function () { if(window.parent.wavPlayer) re ...

  5. 【jquery】一款不错的音频播放器——Amazing Audio Player

    前段时间分享了一款视频播放器,点击这里.今天介绍一款不错的音频播放器——Amazing Audio Player. 介绍: Amazing Audio Player 是一个使用很方便的 Windows ...

  6. 与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成

    原文:与众不同 windows phone (14) - Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成 [索引页][源码下载] 与众不同 win ...

  7. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  8. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (採用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  9. Wavesurfer.js音频播放器插件的使用教程

    Wavesurfer.js是一款基于HTML5 canvas和Web Audio的音频播放器插件,本文主要记录它及其视觉效果插件Regions插件的使用方法. 1.创建实例 引入插件 import W ...

随机推荐

  1. 【C++探索之旅】第一部分第三课:第一个C++程序

    内容简介 1.第一部分第三课:第一个C++程序 2.第一部分第四课预告:内存的使用 第一个C++程序 经过上两课之后,我们已经知道了什么是编程,编程的语言,编程的必要软件,C++是什么,我们也安装了适 ...

  2. 分布式服务框架 dubbo/dubbox 入门示例(转)

    dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架. 官网首页:http://dubbo.io/ ,官方用户指南 http://dubbo.io/User+Guide-zh.htm ...

  3. cocos2d-x -- 渠道SDK【棱镜】接入(1)

    棱镜SDK简单介绍 若想让游戏上线,渠道接入步骤是不可缺少的,为了避免一对一接入渠道问题,我选择了棱镜SDK,由于棱镜是游戏与渠道SDK的中间层,为CP厂商屏蔽各个渠道SDK之间的差异,整个接入过程, ...

  4. 第七章——DMVs和DMFs(2)——用DMV和DMF监控索引性能

    原文:第七章--DMVs和DMFs(2)--用DMV和DMF监控索引性能 本文继续介绍使用DMO来监控,这次讲述的是监控索引性能.索引是提高查询性能的关键性手段.即使你的表上有合适的索引,你也要时时刻 ...

  5. JSTL实现int数据的类型的长度

    JSTL否int类型转换string该功能.为了解决增益int数据的类型的长度,闹失踪. 得到String的数据的长度是jstl的fn能够${fn:length(string)},但int做数据? 经 ...

  6. 讲座:html5于canvas疯狂的炮轰实现

    <html> <head> <title>坎农</title> <script src="../js/jscex.jscexRequir ...

  7. C++的感想

    C++的感想 大学期间,学了一学期的C语言,当然包括学习数据结构时,用的也是C语言.当时刚刚接触计算机,对于编程更是一无所知.上课学习学习,偶尔会照着书上敲一下代码.大二下学期,就丢掉了不用了.最近由 ...

  8. Linux设备驱动实现自己主动创建设备节点

    #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> #inclu ...

  9. Display Database Image using MS SQL Server 2008 Reporting Services

    原文 Display Database Image using MS SQL Server 2008 Reporting Services With the new release of MS SQL ...

  10. 初步swift该研究指出语言(基本数据类型)

    笔者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/28258805 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...