当前位置: 首页 > article >正文

【零基础入门unity游戏开发——进阶篇】Unity Microphone类处理麦克风相关信息,录制音频并实时处理或保存录制的音频数据

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇

  • 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
  • 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
  • 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
  • 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。

这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。

文章目录

  • 一、Microphone 的基本功能
  • 二、使用 Microphone 的步骤
    • 1、获取麦克风设备列表
    • 2、开始录制音频
    • 3、结束录制并播放音频
    • 4、获取录制的音频数据
    • 4、实时处理音频数据
  • 三、完整示例
  • 专栏推荐
  • 完结

一、Microphone 的基本功能

在 Unity 中,Microphone 类提供了访问设备麦克风的功能,允许你录制音频并实时处理或保存录制的音频数据。

Microphone 类的主要功能包括:

  • 获取麦克风设备列表:获取当前设备上可用的麦克风列表。

  • 开始录制:从麦克风录制音频数据。

  • 停止录制:停止录制音频。

  • 获取音频数据:获取录制的音频数据并保存或处理。

二、使用 Microphone 的步骤

1、获取麦克风设备列表

使用 Microphone.devices 属性可以获取当前设备上可用的麦克风列表。

using UnityEngine;

public class MicrophoneTest : MonoBehaviour
{
   
    void Start()
    {
   
        // 获取所有可用的麦克风设备
        string[] devices = Microphone.devices;

        if (devices.Length == 0)
        {
   
            Debug.Log("没有找到麦克风设备!");
        }
        else
        {
   
            foreach (string device in devices)
            {
   
                Debug.Log("麦克风设备: " + device);
            }
        }
    }
}

2、开始录制音频

使用 Microphone.Start 方法可以从指定的麦克风设备开始录制音频,返回一个AudioClip音频文件可以用来存储。你可以传递以下参数:

  • 设备名称(为空时使用默认设备)
  • 是否循环录制(设置为 false 时,录制达到指定时长后停止)
  • 录制时长(单位:秒)
  • 采样率(通常为 44100
AudioClip recordedClip; // 用于存储录制的音频数据

//按下空格键开始录制
if (Input.GetKeyDown(KeyCode.Space))
{
   
    // 获取第一个麦克风设备
    selectedDevice = Microphone.devices[0];

    // 开始录制
    recordedClip = Microphone.Start(null, true, 10, 44100);

    if (recordedClip == null)
    {
   
        Debug.Log("录制失败!");
    }
    else
    {
   
        Debug.Log("开始录制...");
    }
}

3、结束录制并播放音频

在录制完成后,使用 Microphone.End 方法可以停止录制音频,并将录制的音频数据加载到 AudioSource 中进行播放。

//抬起空格键结束录制
if (Input.

http://www.kler.cn/a/583169.html

相关文章:

  • 鸿蒙ArkTs如何实现v-html的功能,显示富文本内容?
  • c#面试题12
  • (二)seacmsv9注入管理员账号密码+orderby+limit
  • 在windows10系统上搭建npm仓库源
  • 电子文档安全管理系统 V6.0 resources/backup存在任意文件下载漏洞(DVB-2025-8794)
  • Redis-配置文件
  • 7-3 谁先倒
  • 红帆 iOffice M2 移动端密码爆破的渗透测试思路,绕过客户端实现Burpsuite批量跑,分享渗透思路,共建网络安全
  • K8s 1.27.1 实战系列(八)Service
  • Jenkins 安装插件后构建成功但未启动容器的解决方法
  • linux抓包经历
  • 【Java】并发编程实战:单例模式 + 阻塞队列的终极实现指南
  • 成为git砖家(9): rebase进阶: 拆分commit为多个
  • 29.Harmonyos Next仿uv-ui 组件NumberBox 步进器组件自定义图标
  • 如何绕过 reCAPTCHA V2/V3:Python、Selenium 与其他工具的实战指南
  • 智慧城市时空基础设施建设与应用实践
  • MySQL——基础知识
  • Tensorflow 2.0 GPU的使用与限制使用率及虚拟多GPU
  • 网络爬虫-2:正则化
  • 大语言模型-01-语言模型发展历程-03-预训练语言模型到大语言模型