欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 【零基础入门unity游戏开发——进阶篇】Unity Microphone类处理麦克风相关信息,录制音频并实时处理或保存录制的音频数据

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

2025/3/14 22:02:01 来源:https://blog.csdn.net/qq_36303853/article/details/144792642  浏览:    关键词:【零基础入门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.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词