unity获取麦克风音量_Unity3d:检查麦克风输入音量
我想在可视化表示中使用用户在Unity3d中输入的麦克风音量 . 所以我'd like to get a value between 0 and 1 that tell how loud the user is. I went looking for a script, but the part that handles the volume doesn' t正常工作,那部分是方法 LevelMax() . 出于某种原因, micPosiotion 永远不会高于0.我不知道 Microphone.GetPosition 除了这个之外真的做了什么:
有谁知道方法 LevelMax() 出了什么问题?我没有任何错误或任何错误 . 它正确找到我的麦克风,它正在工作 . 我测试了它 .
这是代码:
using UnityEngine;
using System.Collections;
public class MicInput : MonoBehaviour{
public float testSound;
public static float MicLoudness;
private string _device;
private AudioClip _clipRecord = new AudioClip();
private int _sampleWindow = 128;
private bool _isInitialized;
void InitMic()
{
if (_device == null) {
_device = Microphone.devices [0];
_clipRecord = Microphone.Start (_device, true, 999, 44100);
Debug.Log (_clipRecord);
}
}
void StopMicrophone()
{
Microphone.End (_device);
}
float LevelMax()
{
float levelMax = 0;
float[] waveData = new float[_sampleWindow];
int micPosition = Microphone.GetPosition (null) - (_sampleWindow + 1);
if (micPosition < 0) {
return 0;
}
_clipRecord.GetData (waveData, micPosition);
for (int i = 0; i < _sampleWindow; ++i) {
float wavePeak = waveData [i] * waveData [i];
if (levelMax < wavePeak) {
levelMax = wavePeak;
}
}
return levelMax;
}
void Update()
{
MicLoudness = LevelMax ();
testSound = MicLoudness;
}
void OnEnable()
{
InitMic ();
_isInitialized = true;
}
void OnDisable()
{
StopMicrophone ();
}
void OnDestory()
{
StopMicrophone ();
}
void OnApplicationFocus(bool focus)
{
if (focus) {
if (!_isInitialized) {
InitMic ();
_isInitialized = true;
}
}
if (!focus) {
StopMicrophone ();
_isInitialized = false;
}
}
}
unity获取麦克风音量_Unity3d:检查麦克风输入音量相关推荐
- unity获取脚本组件_Unity3D【脚本】获取游戏物体的Animator组件,并且修改动画属性 | 学步园...
using UnityEngine; using System.Collections; public class PlayAminitors : MonoBehaviour { public Gam ...
- 麦克风阵列音频检查方法和标准
为确保产品能够符合算法要求,务必提前做好相关设计,尽量确保各项指标满足如下标准. 音频评测工作,主要集中在研发设计阶段:针对产品形态的不同,测试可分为裸板测试和整机测 试,下表为不同阶段需要测试的项目 ...
- Unity打包Ios相关权限和麦克风延迟问题的一种解决办法
Unity打包Ios相关权限和麦克风延迟问题 Hello 大家好我又来填坑了 问题一:调用 Microphone.Start()方法的时候主线程明显卡顿 问题二:IOS使用麦克风时声音不会从扬声器里发 ...
- android 手机当麦克风,我们可以检查一下Android手机的麦克风状态,如果可以,我该怎么做呢...
这是我用来检查麦克风是否忙碌的原因(基于Odaym答案和我自己的测试): (根据评论中的建议更新了Android 6.0 Marshmallow兼容性) public static boolean c ...
- 麦克风失灵_iPhone7Plus手机麦克风失灵怎么办?请看解决方案
如今智能手机的发展越来越好,而苹果作为智能手机市场顶尖的品牌,其iPhone手机也是受到了大批用户的购买使用.大部分对iPhone的评价都是很好的,认为它性能极佳,各方面都比较优秀.不过作为电子产品, ...
- USB麦克风、K歌麦克风、USB游戏耳机方案、安卓K歌麦克风方案
SSS1629USB音频芯片方案可以广泛应用绝大多数安卓智能电视,智能机顶盒,如海信智能电视,创维智能电视,小米盒子,乐视盒子等.USB麦克风.K歌麦克风.USB游戏耳机方案.安卓K歌麦克风方案 Q ...
- 转载 雨松mono Unity获取游戏对象详解(来自我的长微博)
Unity获取游戏对象详解(来自我的长微博) 转载 自 雨松mono 本文固定链接: http://www.xuanyusong.com/archives/2768 转载请注明: 雨松MOMO 201 ...
- Unity获取隐藏的游戏对象
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决G ...
- 麦克风阵列之一阶差分麦克风阵列
概述 DMA(differential microphone arrays)是麦克风阵列处理中一种很重要的信号处理方法,特别是在多通道语音增强中的应用.差分麦克风阵列应用场景其目标信号一般是来自于端射 ...
- 【Qualcomm高通音频】如何区分配置ECM驻极体麦克风和MEMS硅麦克风
如何对MEMS麦克风进行调试 如今MEMS麦克风正逐渐取代音频电路中的驻极体电容麦克风(ECM).ECM和MEMS这两种麦克风的功能相同,但各自和系统其余部分之间的连接却不一样.如今MEMS麦克风正逐 ...
最新文章
- 苹果5g手机_5G手机即将大量上市,iPhone缺席首批5G手机,苹果为何不急?
- Vue nextTick 机制
- 工作293:新的打印操作
- 如何让你的SQL运行得更快(一)
- 《javascript语言精髓与编程实践》--原型继承笔记
- iOS网络请求下来的数据显示时出现的问题
- c语言jj斗地主源码,GitHub - choushane/cocoscreator-ddz: cocos-斗地主,客户端和服务端(node.js socket.io)...
- K8S Java客户端的帮助文档
- 计算机开启网络共享,一键开启共享_局域网win7访问xp_打开默认共享命令
- 显示 think-cell 用户界面时出现错误
- 洛谷P5706 【深基2.例8】再分肥宅水(c ,c++混合版)
- a标签的href属性与事件修饰符阻止默认行为
- [转]VC知识库文章 - 在MFC中用正则表达式对窗体进行有效性验证
- 新势力新名片-上海度普新能源通过ASPICE CL2评估!
- 微信好友排行榜 最简教程 二
- python编号/排序/翻转/并行迭代使用场景及作用
- jetson nano运行darknet_ros的环境配置
- windows 模拟按键与鼠标
- Java经典代码工具类2
- 一笔画:五环,python-turtle。画圆圈
热门文章
- 当AI与音乐相遇,讯飞音乐用技术引领行业变革
- 文献翻译阅读-NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
- oracle 字符串分割函数 与 case when in 使用
- knockout需要注意的
- 关于RGB及HSV色域
- ios 百度地图指定区域_IOS 百度地图定位,显示地理位置
- JS :底部走动桌宠
- Python Sklearn库源码学习--kmeans
- c语言考试的说说带图片致自己,说说带图片致自己霸气
- 政务系统 微信小程序 项目总结