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

鼠标长按对象打开麦克风

思路

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

1 鼠标按住和松开API

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

2 麦克风的打开和关闭API

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

3 怎么获取麦克风权限

Unity实现鼠标长按对象打开麦克风,鼠标松开关闭麦克风(IPointerDownHandler,IPointerUpHandler)
可通过查看此麦克风列表的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);
}
上一篇:【Bug】Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be same


下一篇:device plugin