Unity3D 录音, 压缩, 保存, 读取, 实时检测音量

这篇博客介绍了如何在Unity3D中使用Microphone类进行录音,包括设置采样率、开始和结束录音。内容还涵盖了如何处理音频数据,使用Zlib压缩算法保存和读取录音文件,以及通过AudioSource播放音频。此外,讨论了在录音过程中实时检测音量大小的两种方法,一是通过协程检测Microphone.IsRecording和Microphone.GetPosition,二是利用AudioClip的PCMReaderCallback回调函数。
摘要由CSDN通过智能技术生成

    unity 录音功能主要通过,Microphone这个类来完成。使用这个类自然可以跨平台,不用调用平台本地代码处理。

     

		private static AudioClip clip; 

		private static int maxRecordTime = 10;
		private static int samplingRate  = 12000;

		public static bool TryStartRecording()
		{
			try
			{
				Microphone.End(null);
				clip = Microphone.Start(null, false, maxRecordTime, samplingRate);
			}
			catch(Exception e)
			{
				return false;
			}

			return true;
		}

    Start开始录音,name默认不写就是寻找默认设备。samplingRate是采样率长度,越长音质越好,录音文件越大。Start之前调用End是为了结束可能正在进行的录音。


    

		public static void EndRecording(out int length, out AudioClip outClip)
		{
			int lastPos = Microphone.GetPosition(null);

			if (Microphone.IsRecording(null))
			{
				length = lastPos / samplingRate;
			}
			else
			{
				length = maxRecordTime;
			}

			Microphone.End(n
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值