1. 程式人生 > >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.執行結果


具體接下來想實現什麼功能就可以自己更改自定義

相關推薦

Unity調取移動麥克風進行錄音播放

1.對MicroPhone類的理解  對麥克風的呼叫在Unity裡主要是用到了MicroPhone這個類,此類裡面有幾個方法可以方便我們實現功能2.程式碼演示#region 模組資訊 // *******************************************

報表移動怎樣進行移動設備綁定與撤銷

選項 報表 href 數據 默認 tar 才會 技術分享 blog 場景需求描寫敘述 為了增強移動端的登錄機制驗證,保證數據的安全性。報表工具FineReport提供了移動設備綁定的功能,每一個系統用戶在使用移動端連接系統的時,須要管理員授權,將用戶的移動設備與系統綁定

cropper.js 移動上傳圖片 裁剪 的功能實現

定好頁面  效果如圖 要求 點選 + 號之後  上傳圖片  裁剪之後 放在頁面上 實現 依賴  remodal 和 cropper.js  把裁剪的內容 放在remodal裡  點選 +

移動 上傳頭像 裁剪功能(h5)

charset 移動端 error max cli alert initial port round <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta

Unity結合移動實現動態摳圖功能支援Android和IOS

其中核心程式碼就是Shader摳圖和移動端的互動功能了 , 這裡我把功能剝離開來 , 將工程打了包上傳了 , 有感興趣的友友歡迎交流 .Shader:Shader "Sprites/Mine" { Properties { [Per

移動 .m3u8格式音訊流播放

音訊流播放: 音訊不應該放audio標籤嗎?  因為audio沒 video 標籤的功能 html: <video id="video" width="0" height="0" src="" x5-playsinline="true" playsinline="true

移動Web音樂無法自動播放的問題

關於移動端Web音樂自動播放的問題,可以分為三種: 支援audio的autoplay,大部分安卓機子的自帶瀏覽器和微信,大部分的IOS微信(無需特殊解決) 不支援audio的autoplay,部分的IOS微信 (解決ios下的微信開啟的頁面背景音樂無法自動播放) 不支

Android 使用AudioRecorder和MediaRecorder錄音播放

我們知道,安卓系統可以AudioRecorder和MediaRecorder錄音,兩者的區別是: AudioRecorder錄製的是pcm資料(也稱音訊裸資料),可以方便的對音訊資料進行處理(比如特

Qt + SDL實現的實時錄音播放的程式,類似KTV唱歌

熟話說:沒有什麼比研究原始碼本身更好的了。 所以這裡不囉說了,直接上程式碼了。 【說明】 採集音訊用的是QAudioInput 播放音訊用SDL, 不用QAudioOutput是因為QAudioOutput播放聲音必須是IO他需要先開啟,然後才能播放,開啟的過程需要時間

移動video不全屏播放

load var 相關 round 加載 click 全屏 addclass ans 1 <div class="m-video"> 2 <video x5-playsinline="" playsinline="" webkit-pla

Unity 模型在移動進行移動、旋轉和放大(縮小)

using System.Collections; using System.Collections.Generic; using UnityEngine; public class RotateControl : MonoBehaviour { //float xSpeed = 100f

利用MUI滑動進行利息計算(移動APP顯示)

this 運行 row class mage -a 比較 top 2個 在開發移動端的應用時,會用到很多的手勢操作,比如滑動、長按等,為了方便開放者快速集成這些手勢,mui內置了常用的手勢事件,其中滑動應用是比較常見的應用操作,本篇文章將講述如何利用滑動改變對應值進行計算和

Unity NGUI實現移動輸入法取認事件響應

輸入法時間NGUI已經實現了事件的監聽功能,看下圖:On Return Key(選擇Snbmit) ,可以直接註冊監聽事件。實現如下:1、搭建一個簡單場景2、新建一個腳本InputTest.cs 掛載在Input物體下,並拖拽賦值Txt_content, inputusing UnityEngine; //

移動通過ajax上傳圖片(文件)在前臺展示——通過H5的FormData對象

com 地址 ces 文件 只需要 capture val data als 前些時候遇到移動端需要上傳圖片和視頻的問題,之前一直通過ajax異步的提交數據,所以在尋找通過ajax上傳文件的方法。發現了H5裏新增了一個FormData對象,通過這個對象可以直接綁定html中

判斷pc移動跳轉

navi ont itl back fun info func cat script 判斷pc端或移動端並跳轉 代碼目錄: index.html代碼: <!DOCTYPE html> <html lang="en"> <hea

移動 input 輸入框實現自帶鍵盤“搜索“功能修改X

cancel 文字 webkit 自動 border search 輸入 func 不同 主要利用html5的,input[type=search]屬性來實現,此時input和type=text外觀和功能沒啥區別; html代碼入下: <form action=""

vue2移動使用vee-validate進行表單驗證

color prevent 中文 primary rim his 提示 規則 fault 使用vee-validate時若要使用中文版本提示時,vee-validate的版本需要註意 "vee-validate": "2.0.0-rc.25" 在main.js裏添加如下

移動圖標拖動獲取移動後的坐標

nal 坐標 posit 移動端 top 一次 target eve pan 這兩天在做關於合同蓋章的需求,要求在移動端能拖動章,並獲取章的坐標。在網上也看了一些相關代碼,最後整理出一份demo。整理的匆忙,代碼仍存在bug,當第一次移動章手指擡起後,再次點擊一下章,坐標

CAD高操作,如何將兩個不同的CAD文件進行

繪制 www oss 迅捷CAD編輯器 迅捷 方法 到你 watermark water CAD高端操作,如何將兩個不同的CAD文件進行合並?在CAD行業中,每編輯一張CAD圖紙都是借助CAD編輯器來進行繪制完成的,所以圖紙格式基本都是dwg格式的,dwg格式的文件是比較常

移動的CAD看圖軟件能對dwg格式的圖紙進行查看嗎?

你在 blog mark 安裝 軟件下載 所有 water 查找 選擇 移動端的CAD看圖軟件能對dwg格式的圖紙進行查看嗎?現在隨著科技的發展,對於我們來說有了非常大的變化,以前在電腦中完成的工作,就算現在你在地鐵上也能使用手機快速的完成,大家都知道在電腦中能對dwg格式