steam想申明库存量,不晓得在哪里去增设,那个出口处是稍稍有点儿深,由此可见毕竟也很单纯,一起来看一看什么样操作方式。操作方式方式01登入steam后,点选街道社区旁的对个人......
2024-02-05 549
Unity Microphone教程之 如何获取设备麦克风。本节介绍,在Unity开发中,获得设备Microphone的方法,具体如下
在Unity引擎新建一个空工程,具体如下图
在场景中,添加一个 Button 和一个 Text,布局设置如下图
在工程中,新建一个脚本 OpenMicrophone,双击打开脚本进行编写,具体如下图
OpenMicrophone 脚本的代码和代码说明具体如下图
OpenMicrophone 脚本具体内容如下:
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(AudioSource))]
public class OpenMicrophone : MonoBehaviour {
private AudioSource aud;
private Button btn;
private Text txt;
private bool isHaveMicrophone = false;
// Use this for initialization
void Start () {
aud = this.GetComponentAudioSource>();
btn = GameObject.Find("Button").GetComponentButton>();
txt = GameObject.Find("Text").GetComponentText>();
btn.onClick.AddListener(OnClickBtn);
//获取麦克风设备,判断蛇摆是否有麦克风
string[] devices = Microphone.devices;
if (devices.Length > 0)
{
isHaveMicrophone = true;
txt.text = "设备有麦克风:" devices[0];
}
else {
isHaveMicrophone = false;
txt.text = "设备没有麦克风";
}
}
private void OnClickBtn() {
if (isHaveMicrophone == false) {
return;
}
//有麦克风就打开使用麦克风
/*
* public static AudioClip Start(string deviceName, bool loop, int lengthSec, int frequency);
* deviceNameThe name of the device.
* loopIndicates whether the recording should continue recording if lengthSec is reached,
and wrap around and record from the beginning of the AudioClip.
* lengthSecIs the length of the AudioClip produced by the recording.
* frequencyThe sample rate of the AudioClip produced by the recording.
*/
aud.clip = Microphone.Start( null, true, 10, 44100);
aud.Play();
}
}
脚本编译正确,回到Unity,在场景中新建一个 GameObject,挂载脚本上去,运行场景,因为电脑没有麦克风,具体如下图
File - Build Settings,切换平台,打包编译,具体如下图
在安卓上有麦克风,运行结果如下图
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
steam想申明库存量,不晓得在哪里去增设,那个出口处是稍稍有点儿深,由此可见毕竟也很单纯,一起来看一看什么样操作方式。操作方式方式01登入steam后,点选街道社区旁的对个人......
2024-02-05 549
操作方式方法01【辅助widget】多种辅助工具相连接两个功能键的可同时按【Shift】加此功能键挑选出1、正方形、圆锥选框辅助工具 【M】 2、终端辅助工具 【V】 3、截叶......
2024-02-05 481
操作方式01文档格式难题qq肖像最合适用jpeg文档格式的相片,若是相片有透明化地下通道,能选用png文档格式上载。 02大小不一难题若是相片极重也可能将引致上载失利,检......
2024-02-05 405