Unity调取移动端的麦克风进行录音并播放

本文实例为大家分享了Unity调取移动端的麦克风进行录音并播放的具体代码,供大家参考,具体内容如下

1.对MicroPhone类的理解

对麦克风的调用在Unity里主要是用到了MicroPhone这个类,此类里面有几个方法可以方便我们实现功能

2.代码演示

#region 模块信息
// **********************************************************************
// Copyright (C) 2018 Blazors
// Please contact me if you have any questions
// File Name:    VoiceChat
// Author:    romantic123fly
// WeChat||QQ:   at853394528 || 853394528
// **********************************************************************
#endregion
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

//此脚本须挂在录音按钮上
public class Record : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
 float tirecordingTimemer = 0;//录音时长限制
 public AudioSource aud;//存储声音
 public Text ShowTimeHint;//剩余时间的文字提示
 public void OnPointerDown(PointerEventData eventData)
 {
  Debug.Log("Start");
  StartCoroutine("KeepTime");
  aud.clip = Microphone.Start("Built-in Microphone", false, 60, 44100);
 }
 public void OnPointerUp(PointerEventData eventData)
 {
  Microphone.End("Built-in Microphone");
  StopCoroutine("KeepTime");
  Debug.Log("Over");
  aud.Play();
 }
 //此处开携程也行,用while也可以,放在updata里也没问题
 IEnumerator KeepTime()
 {
  for (tirecordingTimemer = 10; tirecordingTimemer >= 0; tirecordingTimemer -= Time.deltaTime)
  {
   if (tirecordingTimemer <= 10)
   {
    ShowTimeHint.text = "你还可以录 " + (int)tirecordingTimemer + " 秒";
    if (tirecordingTimemer < 1)
    {
     ShowTimeHint.text = "时间到";
     Microphone.End("Built-in Microphone");
    }
   }
   yield return 0;
  }
 }
}

对应的ui组件挂靠一下直接运行工程就好了

3.运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 在Unity中实现动画的正反播放代码

    using UnityEngine; using System.Collections; public class AnimationAntiSowing : MonoBehaviour { public static AnimationAntiSowing _initialise; void Awake() { _initialise = this; } /// <summary> /// 动画进行正反播放 /// </summary> /// <param name=&q

  • Unity实现卡拉OK歌词过渡效果

    好长时间之前做过的一个项目 , 其中设计到用Unity模拟卡拉OK歌词过渡的效果 , 如下图所示 ↓ , 这里简单把原理部分分享一下. 文章目录 演示效果 ↓ 歌词效果类 ↓ 配套资源下载 演示效果 ↓ 实现歌词动态调整功能 实现动态读取歌词文件功能 实现歌曲快进快退功能 实现歌曲单字时间匹配功能 实现可动态更换歌词前景色背景色功能 注: 这里为实现精准过渡效果使用的是KSC歌词文件, 并不是LRC文件哦 . 这其中我认为就是如何实现歌词部分的前景色向后景色过渡的效果了, 开始的时候我想的也是很

  • Unity代码实现序列帧动画播放器

    序列帧动画经常用到,最直接的方式就是用Animation录制.但某些情况下这种方式并不是太友好,需要靠代码的方式进行序列帧动画的实现. 代码实现序列帧动画,基本的思路是定义一个序列帧的数组/列表,根据时间的流逝来确定使用哪一帧并更新显示. NGUI的UI2DSpriteAnimation已经实现了此功能,但是它支持的目标只有Native2D的SpriteRenderer组件或者NGUI自身的UI2DSprite组件,并不支持UGUI的Image组件. 当然可以通过改写源码的方式来添加对Image

  • Unity3D实现播放gif图功能

    Unity是不识别Gif格式图的,需要我们使用c#将gif里多帧图转化为Texture2D格式.需要使用System.Drawing.dll.此dll在unity安装目录下就可以找到.由于unity没有gif格式的文件,所以我们无法在面板指定,需要动态加载.所以将gif图放在StreamingAssets文件夹下.以下为源代码: using System; using System.Collections; using System.Collections.Generic; using Syst

  • Unity调取移动端的麦克风进行录音并播放

    本文实例为大家分享了Unity调取移动端的麦克风进行录音并播放的具体代码,供大家参考,具体内容如下 1.对MicroPhone类的理解 对麦克风的调用在Unity里主要是用到了MicroPhone这个类,此类里面有几个方法可以方便我们实现功能 2.代码演示 #region 模块信息 // ********************************************************************** // Copyright (C) 2018 Blazors // P

  • Unity实现移动端手势解锁功能

    本文实例为大家分享了Unity实现移动端手势解锁的具体代码,供大家参考,具体内容如下 一.效果演示 二.实现思路 --当鼠标选中一个密码按钮时开始记录输入的数字和鼠标的起始位置 --当鼠标按下过程中,始终根据记录的鼠标起始位置和当前鼠标的位置两个点绘制线段并添加到线段的列表中,并一直清空掉列表中除了最后一个线段外的其余线段 --当鼠标按下过程中,如果有覆盖到其他的密码按钮,则根据起始的密码按钮与当前的密码按钮两个点绘制线段并重新记录输入的数字和鼠标起始位置 三.实现过程 --创建9个密码块,并依

  • Java 实现麦克风自动录音

    最近在研究语音识别,使用百度的sdk.发现只有识别的部分,而我需要保存音频文件,并且实现当有声音传入时自动生成音频文件. 先上代码: public class EngineeCore { String filePath = "E:\\voice\\voice_cache.wav"; AudioFormat audioFormat; TargetDataLine targetDataLine; boolean flag = true; private void stopRecognize

  • Android一个类实现录音与播放实例

    目录 前言 实现效果 代码实现 XML 静态权限 动态权限 总结 前言 最近混合开发的项目 在做语音识别时 h5拿不到麦克风的权限几经周折 开发任务又落到了原生开发这里 先写一个demo实现录音和播放功能 然后由web端同事调用交互方法 实现效果 代码实现 public class MainActivity extends AppCompatActivity { private static final String LOG_TAG = "MainActivity"; //语音文件保存

  • iOS多媒体音频(下)-录音及其播放的实例

    上一篇中总结了iOS中音效和音频播放的最基本使用方法,其中音频的播放控制是使用AVFoundation.framework框架中的AVAudioPlayer播放器对象来实现的,而这里音频的录制则是使用了同样框架下的一个叫AVAudioRecorder的录音机对象来实现,这两个类的用法流程非常类似,类的属性和方法也类似,例如:播放器中需要获取音频文件的url,而录音机要在沙盒中Docuemnt目录下创建一个音频文件路径url: 播放器有isPlaying变量判断是否正在播放,录音机中有isReco

  • Android使用MediaRecorder实现录音及播放

    现在项目中有使用到音视频相关技术,在参考了网上各种大牛的资料及根据自己项目实际情况(兼容安卓6.0以上版本动态权限管理等),把声音录制及播放相关代码做个记录. public class MediaRecorderActivity extends BaseActivity { private Button start_tv; private ListView listView; //线程操作 private ExecutorService mExecutorService; //录音API pri

  • Android编程开发录音和播放录音简单示例

    本文实例讲述了Android编程开发录音和播放录音的方法.分享给大家供大家参考,具体如下: /* * The application needs to have the permission to write to external storage * if the output file is written to the external storage, and also the * permission to record audio. These permissions must be

  • 微信小程序录音与播放录音功能

    小程序中提供了两种录音的API 旧版录音功能 首先启动录音,然后停止录音即可拉到音频的临时地址 启动录音: var that = this; wx.startRecord({ success: function (res) { // 调用了停止录音接口就会触发这个函数,res.tempFilePath为录音文件临时路径 var tempFilePath = res.tempFilePath that.setData({ src: tempFilePath }) }, fail: function

  • 详解Android开发录音和播放音频的步骤(动态获取权限)

    步骤: 配置权限: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.work.mediaplay"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <us

  • Android实现音频录音与播放

    目录 一.PCM .WAV.AAC 的文件头介绍 二.使用 AudioRecord 实现录音生成 PCM 文件 三.PCM 转化为 WAV 四.PCM 转化为 AAC 文件格式 五.AudioStack 播放 本文介绍音频的采集.编码.生成文件.转码等操作,通过 AudioRecord 采集音频,生成三种格式的文件格式(pcm.wav.aac),用 AudioStack 来播放这个音频. 一.PCM .WAV.AAC 的文件头介绍 这里简单的介绍一下常见的三种音频格式: PCM :PCM(Pul

随机推荐