這篇文章主要爲大家詳細介紹了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.運行結果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。