关于Unity中microphone类使用的一些坑
来源:互联网 发布:c 图书管理系统编程 编辑:程序博客网 时间:2024/05/21 17:03
最近要排查聊天系统语音功能无法用的bug;项目源码中用的是unity官方的microphone类,
发现在PC上会出现 microphone.devices返回字符串为空串这个bug,后来上网百度了白天也找不到头绪,后来魔法上网在Google的unity英文论坛找到了解答。为了以后遇到同样情况能够迅速解决,总结一些注意事项。
先上官网API说明Unity.Microphone
官网给出了使用教程,好了,来结论:
一、如果是在PC上:
(1)microphone.devices 为空 :请检查是否有外接麦克风设备,这个可以在右下角音量按钮出-->右键-->录音设备-->查看是否有麦克风设备或麦克风设备是否正常工作。
(2)microphone.devices不为空,但是其名字为空串,举个例子:
foreach (string device in Microphone.devices) { Debug.Log("Name: " + device);}
上面代码中拿到的device可能是"",也就是所谓的空串,这种情况是应该unity自身的问题。我之前就有听说过unity对中文不友好,然后又看了看Microphone.devices的说明,它说这是一个可用麦克风设备名字数组。注意!!名字!!当时在这里卡了好久,后来发现是因为我的麦克风设备名字是中文名,估计是对中文不友好所以返回空串,
解决办法:麦克风设备名改为英文名,重启电脑即可。
不得不吐槽用名字区分麦克风设备这种不合理的设计,明显用ID更合理和科学吧。
二、如果是手机上:
对应可能出现的情况我也懒得说了,直接给出一些解决办法:
(1)保证你的工程开启了audio。在unity中,依次Edit/Project Settings/Audio,将会看到 Disable Unity Audio 这个选项,要保证这个不要被勾选。
(项目工程不知道哪个人把这个勾上,被这个问题搞了半天,最后还是从这里找到解答:Unity-Community
(2)申请手机麦克风权限,这里就自行百度吧,网上很多。
阅读全文
0 0
- 关于Unity中microphone类使用的一些坑
- Unity3d中MicroPhone的使用
- Unity3d中MicroPhone的使用
- Unity3d中MicroPhone的使用
- Unity编程笔录--Unity中Microphone类进行录音保存
- 使用Unity中Microphone类进行用户自由时长音频录制
- 关于Unity中LightMap的一些见解
- 使用unity的Microphone接口进行录音时遇到的相关问题
- Unity中使用SLua的一些注意事项
- Unity中关于可视化辅助类Gizmos的使用
- 关于unity中foreach的使用
- 关于unity中3DText的使用
- 关于unity中线程使用的小结
- UNity的一些使用
- flex4 中获取Microphone,抑制回声和使用Speex编码音频的方法
- Unity-C#中关于时间戳的一些方法
- Unity-C#中关于时间戳的一些方法
- 关于unity中枚举enum的一些小见解
- 安装Git
- 梦一场
- ssss
- java
- VFIO IOMMU UIO ...
- 关于Unity中microphone类使用的一些坑
- JZOJ 5484. 【清华集训2017模拟11.26】快乐树
- ssssss
- Unity Shader 学习笔记(29) 表面着色器(Surface Shader)
- CUDA随笔:CPU和GPU的联系和区别
- Python-OpenCV轮廓检测
- Valid signing identity not found解决办法(原有IDP私钥丢失)及Certificate、App ID、Devices、Provisioning Profiles之间区别
- POJ
- 创建版本库