大多数在线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, 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进行操作,本文主要描写叙述怎样动态载入一首音乐。并将该类进行封装,同一时候最简化的代码也我们理解有利于手表。
今天,就在这里。旨在分享。和共勉之王。

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

转载于:https://www.cnblogs.com/zfyouxi/p/4644489.html

Unity3D音频播放器 动态装载组件相关推荐

  1. Unity3D音频播放 动态加载组件

    网上大多数Unity教程只讲述了如何在Unity里播放音乐,如何通过拖拽添加音频文件之后就没有继续了 但在游戏中有时候一个对象需要播放好几种声音,这个时候我们就需要用代码进行控制,教程上推拽给Audi ...

  2. vue自定义音频播放组件_易于创建Vue的自定义音频播放器组件

    vue自定义音频播放组件 音频更好 (vue-audio-better) Easy to create custom audio player components for Vue.js. 易于为Vu ...

  3. vue音频播放器组件

    因为原生audio 播放器太丑了 重新整理 百度综合完成了播放器, 基于element ui 组件书写的 需要的自取 <template><div class="audio ...

  4. 【创新项目实训】Android移动开发教学app案例之音频播放器(二)

    教学app案例之音频播放器(二) 一.开发环境 二.项目介绍 三.开始主界面 四.显示歌曲列表 五.播放音乐的服务 六.实现播放音乐 一.开发环境 软件环境: Android Studio 4.1.3 ...

  5. linux声卡测试命令,linux添加声卡驱动使用命令行音频播放器的方法

    首先linux系统需要有声卡 哪怕是虚拟声卡,我用的是virtualbox,intel 80x AC97 声卡. 安装声卡驱动,在linux内核的找到声卡对应的驱动 可以集成到内核,或者安装为模块,为 ...

  6. audiojs--跨浏览器的HTML音频播放器(可自定义样式)

    一款跨浏览器的音频播放器,可惜例子和文档都比较少 英文文档 官网 使用方法: 第一步引用文件: <script src="/audiojs/audio.min.js"> ...

  7. Android 使用 MediaCodec API音频播放器

    OpenMAX 有时缩写为"OMX",是针对多媒体处理的免版税.跨平台的例程和接口集.它主要用于嵌入式设备,在设计时考虑了效率,因此可以以优化和受控的方式处理大量多媒体数据,包括视 ...

  8. AudioPlayer-简易音频播放器

    AudioPlayer 该工程是一个基于Unity2018.3.13开发的简易音频播放器,支持歌词同步+音频可视化+MV同步-- 前言 在我Unity工作的第一年里,通过学习和研究积累了一些比较有意思 ...

  9. Vue - 音频播放器插件(vue-aplayer)

    Vue使用音频播放器插件 vue-aplayer vue-aplayer中文文档:https://aplayer.netlify.app/docs/guide/ GitHub文档:https://gi ...

最新文章

  1. ASP.NET Web页面(.aspx)添加用户控件(.ascx)无显示的问题
  2. android WebView中js的alert()失效
  3. linux反汇编暴力破解,逆向教程之-反编译apk暴力去除弹窗和更新提示(三)
  4. Solr添加SolrDocument报错
  5. 三、索引优化(3)聚集索引上的非聚集索引
  6. Java poi设置打开模式_java操作Excel的poi 格式设置
  7. 我也说说刘谦在2010年春晚上的魔术作假
  8. Linux Socket之send()异步通信时:Broken pipe报错
  9. mybatis的javaType和ofType
  10. linux 下 ethtool 修改网卡eeprom
  11. 菲涅耳衍射matlab,matlab – 两步菲涅耳衍射
  12. 教务系统自动评教_「四川大学教务处本科登陆系统」四川大学本科教务系统 - 一键评教 - seo实验室...
  13. 23Exchange Server 2010跨站点部署-公网邮箱系统配置及公网记录
  14. js之win10计算器
  15. 2020年医疗影像行业软镜专题研究报告
  16. java经典50道编程题(很好练逻辑思维的题)(第一篇)
  17. 单片机、嵌入式错综复杂的关系分析
  18. 大厂 Java 后端经典面试题:Redis 为什么这么快?
  19. 5G时代的来临,我们应该做好哪些网络安全准备?
  20. 【免费认证】Juniper部分认证2009.12.31前考试免费!

热门文章

  1. Tensorflow实战之下载MNIST数据,自动分成train, validation和test三个数据集
  2. OJ系列之---IP与整数之间的转换
  3. 利用oracle执行系统命令,利用oracle存储过程执行操作系统命令(转)
  4. 003_SpringBoot整合Filter
  5. 008_Queue消息模式发送映射消息
  6. 002_XMLHttpRequest对象
  7. 076_html5事件属性
  8. 电机编码器调零步骤_各种编码器的调零方法
  9. string包含某个字符串_Tcl字符串操作基础2
  10. px word 表格宽度_word怎样批量修改表格的宽度(2)