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

Posted 珞珈大胖强TURBO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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实现鼠标长按对象打开麦克风,鼠标松开关闭麦克风(IPointerDownHandler,IPointerUpHandler)的主要内容,如果未能解决你的问题,请参考以下文章

unity3d 2D平面游戏实现鼠标拖拽物体移动

怎么复制信息.复制后如何使用

Unity3D New Input System 鼠标左键单击双击长按配置及实现接口多态用法

Unity鼠标带动物体运动的三种方法

unity3d MouseLook 如何当单击左键移动鼠标才能实现上下左右全方位旋转

关于unity3D UI 对canvas的操作问题(鼠标拖动改变画布大小)