Unity实现鼠标长按对象打开麦克风,鼠标松开关闭麦克风IPointerDownHandler,IPointerUpHandler

鼠标长按对象打开麦克风

思路

只需在鼠标按住的方法中打开麦克风,在鼠标松开的方法关闭麦克风

1 鼠标按住和松开API

  1. IPointerDownHandler接口,定义了一个方法:OnPointerDown,当使用这个接口后,在对象上按下鼠标时调用方法
  2. IPointerUpHandler接口,定义了一个方法:OnPointerUp,当使用这个接口后,从对象上松开鼠标时调用方法

2 麦克风的打开和关闭API

请添加图片描述

请添加图片描述

3 怎么获取麦克风权限

请添加图片描述

可通过查看此麦克风列表的length来查看是否存在麦克风,如果长度小于等于0就无麦克风

4 程序

注意:以下两个方法在使用以上两个接口后会自动补上

private string device;

public void OnPointerDown(PointerEventData eventData)//在对象上按下指针时调用
{
    if (Microphone.devices.Length <= 0)
        {
            Debug.LogError("没有麦克风或麦克风权限未打开");
        }
        else
        {
            device = Microphone.devices[0];//获取麦克风名 
            micRecord = Microphone.Start(device, true, 999, 44100);//获取该麦克风获得的音乐片段
        }
}

public void OnPointerUp(PointerEventData eventData)//松开指针时调用
{
    Microphone.End(device);
}

相关文章

实现Unity AssetBundle资源加载管理器 AssetBundle是实现资源...
Unity3D 使用LineRenderer绘制尾迹与虚线 1.添加LineRendere...
Unity 添加新建Lua脚本选项 最近学习Unity的XLua热更新框架的...
挂载脚本时文件名和类名的关联方式 写过Unity脚本的人应该都...
Unity单例基类的实现方式 游戏开发的过程中我们经常会将各种...
这篇文章主要介绍了Unity游戏开发中外观模式是什么意思,具有...