最近做了个吹气球的案例,远离就是获取设备的麦克风,对声音进行采样,我这里是手机测试。实现了吹气气球不断变大的效果。

直接上代码,工程源码文件我分享一个百度云地址。我的Unity版本是2018.2.1,手机测试时安卓。

项目工程地址:https://pan.baidu.com/s/15gK88rMI2yD0nZq3hJHTvQ

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
public class Audio : MonoBehaviour {public Text text;public AudioSource Myaudio;public AudioSource QiqiuAudio;public AudioSource BaozhaAudio;float timer = 0;public string sFrequency = "44100";public GameObject prefab;public GameObject Qiqiu;public float Speed = 1;float scale = 0;bool IsBaozha = false;// Use this for initializationvoid Start () {if (Application.isEditor)return;StartRecord();StartCoroutine("Wait");}IEnumerator Wait(){yield return new WaitForSeconds(0.25f);if (Volume > 10){scale += 0.1f*Speed;offset += 1.5f;if (scale <= 1)Qiqiu.transform.localScale = new Vector3(1+scale, 1+scale, 1+scale);//爆炸else{StopCoroutine("Wait");IsBaozha = true;StartCoroutine(BaoZhaEffect());}if (offset < 15){if(Random.Range(0,1.0f)>0.5f)StartCoroutine(RoateAndMove(offset, 0.15f));elseStartCoroutine(RoateAndMove(offset, -0.15f));}elseoffset = 0;}if(!IsBaozha)StartCoroutine(Wait());}//场景一开始就开启录音功能void StartRecord(){Myaudio.Stop();Myaudio.loop = true;Myaudio.mute = false;Myaudio.clip = Microphone.Start(null, true, 1, int.Parse(sFrequency));while (!(Microphone.GetPosition(null) > 0)){}    }float offset = 0;// Update is called once per framevoid Update () {if(!Application.isEditor)text.text = Volume.ToString();if(Input.GetKeyDown(KeyCode.Space)){          StartCoroutine(RoateAndMove(offset, 0.15f));}}IEnumerator RoateAndMove(float offset,float timer){Vector3 right, left, center;right = new Vector3(0, 0, -offset);left = new Vector3(0, 0, offset);center = Vector3.zero;Qiqiu.transform.DOLocalRotate(right, timer);yield return new WaitForSeconds(timer);Qiqiu.transform.DOLocalRotate(center, timer);yield return new WaitForSeconds(timer);Qiqiu.transform.DOLocalRotate(left, timer);yield return new WaitForSeconds(timer);Qiqiu.transform.DOLocalRotate(center, timer);}IEnumerator BaoZhaEffect(){QiqiuAudio.Play();Qiqiu.transform.DOScale(Vector3.one, 0.2f);yield return new WaitForSeconds(0.2F);if(!BaozhaAudio.isPlaying)BaozhaAudio.Play();prefab.SetActive(false);prefab.SetActive(true);Qiqiu.SetActive(false);}public float Volume{get{if (Microphone.IsRecording(null)){// 采样数int sampleSize = 128;float[] samples = new float[sampleSize];int startPosition = Microphone.GetPosition(null) - (sampleSize + 1);// 得到数据this.Myaudio.clip.GetData(samples, startPosition);// Getting a peak on the last 128 samplesfloat levelMax = 0;for (int i = 0; i < sampleSize; ++i){float wavePeak = samples[i];if (levelMax < wavePeak)levelMax = wavePeak;}return levelMax * 99;}return 0;}}public void ResetOnclck(){Qiqiu.SetActive(true);Qiqiu.transform.localScale = Vector3.one;scale = 0;offset = 0;IsBaozha = false;StartCoroutine("Wait");}
}

Unity获取麦克风实现吹气球效果相关推荐

  1. unity获取麦克风音量_Unity获取麦克风音量(实现音效波浪效果)

    1.每个方块(Cube)为一个波浪添加脚本MusicDance 2.整体获取马克风音量大小脚本MusicManager MusicDancepublic class MusicDance : Mono ...

  2. unity获取麦克风音量_Unity调取移动端的麦克风进行录音并播放

    本文实例为大家分享了Unity调取移动端的麦克风进行录音并播放的具体代码,供大家参考,具体内容如下 1.对MicroPhone类的理解 对麦克风的调用在Unity里主要是用到了MicroPhone这个 ...

  3. unity获取麦克风音量_深入探究Valve Index的耳机、麦克风设计过程

    查看引用/信息源请点击:映维网 本文来自于Valve音频工程师艾米莉·丽琪维 (映维网 2019年08月13日)继深入介绍了Index头显的视场之后,Valve日前撰文探究了设备耳机和麦克风方面的设计 ...

  4. unity获取麦克风音量_Unity3d:检查麦克风输入音量

    我想在可视化表示中使用用户在Unity3d中输入的麦克风音量 . 所以我'd like to get a value between 0 and 1 that tell how loud the us ...

  5. 试着在unity实现阴阳师抽卡效果

    试着在unity实现阴阳师抽卡效果 之前为了社团活动(DemoDay,一个展示社团成员游戏作品的社团展会)做了一个抽奖程序.因为是硬核游戏开发社团举办的游戏展,我为此特地做了一个阴阳师的抽卡系统如下 ...

  6. Unity从零开始实现一个全息效果Shader

    Unity从零开始实现一个全息效果Shader 前言 开始捣鼓 一.准备阶段 二.先从透明效果开始 三.顶点故障效果 四.扫描线效果 五.菲尼尔反射效果 六.颗粒效果 七.颜色故障效果 CustomE ...

  7. Android 录音获取麦克风实时音量(转)--资料

    Android 上有一些很有趣的应用,例如<吹裙子>.<吹气球>之类的.利用的是实时获取麦克风输入音量,然后进行相应的处理.录音过程中怎样获得声音的大小呢?下面有个实例 Jav ...

  8. android获取录音音量大小,Android 获取麦克风音量

    Android 上有一些很有趣的应用,例如<吹裙子>.<吹气球>之类的.利用的是实时获取麦克风输入音量,然后进行相应的处理.录音过程中怎样获得声音的大小呢?网上也不少人问如何处 ...

  9. Unity Shader · 科技感矩阵效果

    Unity Shader · 科技感矩阵效果 前言 最近想要做一个次世代卡通渲染(伪),选的是崩崩崩的小八(我最喜欢小八了). 先放几张截图,等全部做完之后再分享用到的一些技术叭. 赶紧做完发B站,等 ...

最新文章

  1. AI居然能算出情侶能交往多久?使用分析语音数据進行預測
  2. 使用蚂蚁借呗会影响房贷申请吗?
  3. 做生意最重要的诚信呢??? | 今日最佳
  4. c 语言 volatile 关键字
  5. 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld...
  6. Spark内核解析之三:Spark 通讯架构
  7. linux备份根目录与还原脚本,Shell脚本备份和还原MBR(主引导记录)
  8. 关闭 kali 警报音
  9. sql 多表连接多条件匹配查询,按匹配度排序
  10. 华为管理学案例分析_华为管理成功案例分析答案
  11. html5多媒体事件写法,多媒体元素重要事件 -HTML5
  12. 嵌入式设备的switch 以及PHY 芯片调试和选型 (2)
  13. IBM DB2基础知识学习作业
  14. Ubuntu Linux操作系统与实验教程(第二版)答案
  15. 访问学者办理签证的问题整理!
  16. Linux系列(四)、文件属性查看和修改,以及软硬连接
  17. PR LUT预设 25个漂亮的Instagram风格抖音视频调色预设
  18. 华为低价策略将拿下C网招标30%最大份额
  19. 139邮箱无法连接服务器,手机号登录邮箱,为什么总是连接不到服务器?
  20. 视觉系统(CCD)光轴校正-项目实践

热门文章

  1. 如何查看MySQL版本号
  2. wince6.0 屏幕旋转
  3. FPGA - Zynq - 加载 - BootRom
  4. CSS基础10-单行/多行文本溢出省略
  5. 诛仙一直服务器维护,服务器维护《诛仙3》官方致仙友的一封信
  6. 农夫、羊、菜和狼的故事
  7. 在知乎上看到的一个关于Linux运维工程师必知的几点,希望对有志于从事运维工作的你有帮助
  8. 51nod 1205 流水线调度(Johnson规则)
  9. 1628_MIT 6.828 xv6_chapter0操作系统接口
  10. 条形码扫描器会受到光波和无线电波的影响吗?