版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
學(xué)游戲就上我學(xué)院Unity麥克風(fēng)錄制聲音腳本〃使用麥克風(fēng)可以錄制音頻流,但是如何將錄制的音頻流通過代碼的形式改成3d音效如果有知道的朋友情不吝賜教usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingUnityEngine;usingSystem.Collections;usingSystem.Net;[RequireComponent(typeof(AudioSource))]publicclassMicroPhoneInput:MonoBehaviour{privatestaticMicroPhoneInputm_instance;publicfloatsensitivity=100;publicfloatloudness=0;privatestaticstring[]micArray=null;constintHEADER_SIZE=44;constintRECORD_TIME=10;//UsethisforinitializationvoidStart(){)publicstaticMicroPhoneInputgetInstance(){if(m_instance==null){micArray=Microphone.devices;if(micArray.Length==0){Debug.LogError("Microphone.devicesisnull");)foreach(stringdeviceStrinMicrophone.devices)Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計|原畫設(shè)計|動漫美術(shù)|游戲策劃學(xué)游戲就上我學(xué)院(Debug.Log("devicename="+deviceStr);)if(micArray.Length==0)(Debug.LogError("nomicdevice");)GameObjectMicObj=newGameObject("MicObj");m_instance=MicObj.AddComponent<MicroPhoneInput>();)returnm_instance;)voidOnGUI(){//GUI.Label(newRect(10,10,200,100),"loudness="+loudness);//GUI.Label(newRect(10,210,200,100),"Microphone.GetPosition="+Microphone.GetPosition(null));)publicvoidStartRecord(){audio.Stop();if(micArray.Length==0){Debug.Log("NoRecordDevice!");return;)audio.loop=false;audio.mute=true;audio.clip=Microphone.Start(null,false,RECORD_TIME,44100);//22050while(!(Microphone.GetPosition(null)>0)){)audio.Play();Debug.Log("StartRecord");//倒計時StartCoroutine(TimeDown());)publicvoidStopRecord(){Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計|原畫設(shè)計|動漫美術(shù)|游戲策劃學(xué)游戲就上我學(xué)院if(micArray.Length==0)(Debug.Log("NoRecordDevice!");return;)if(!Microphone.IsRecording(null))(return;)Microphone.End(null);audio.Stop();Debug.Log("StopRecord");//PlayRecord();〃調(diào)試Int16[]數(shù)據(jù)的轉(zhuǎn)化與播放//PlayClipData(GetClipData());)publicByte[]GetClipData()(if(audio.clip==null)(Debug.Log("GetClipDataaudio.clipisnull");returnnull;)float[]samples=newfloat[audio.clip.samples];audio.clip.GetData(samples,0);Byte[]outData=newbyte[samples.Length*2];//Int16[]intData=newInt16[samples.Length];//convertingin2float[]stepstoInt16[],//thenInt16[]toByte[]intrescaleFactor=32767;//toconvertfloattoInt16for(inti=0;i<samples.Length;i++)(shorttemshort=(short)(samples[i]*rescaleFactor);Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計|原畫設(shè)計|動漫美術(shù)|游戲策劃w我學(xué)院學(xué)游戲就上我學(xué)院Byte[]temdata=System.BitConverter.GetBytes(temshort);outData[i*2]=temdata[0];outData[i*2+1]=temdata[1];)if(outData==null||outData.Length<=0)(Debug.Log("GetClipDataintDataisnull");returnnull;)//returnintData;returnoutData;///<summary>///調(diào)用GOOLE語音識別引擎///</summary>///<returns></returns>privatestringGoogleSTT(byte[]voice)(stringresult=string.Empty;try(/**stringinFile="audio.wav";FileStreamfs=newFileStream(inFile,FileMode.Open);byte[]voice=newbyte[fs.Length];fs.Read(voice,0,voice.Length);fs.Close();*/HttpWebRequestrequest=null;stringurl"/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN";Uriuri=newUri(url);request=(HttpWebRequest)WebRequest.Create(uri);request.Method="POST";request.ContentType="audio/x-flac;rate=16000";request.ContentLength=voice.Length;using(StreamwriteStream=request.GetRequestStream())(Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計|原畫設(shè)計|動漫美術(shù)|游戲策劃學(xué)游戲就上我學(xué)院writeStream.Write(voice,0,voice.Length);)using(HttpWebResponseresponse=(HttpWebResponse)request.GetResponse())(using(StreamresponseStream=response.GetResponseStream())(using(StreamReaderreadStream=newStreamReader(responseStream,Encoding.UTF8))(result=readStream.ReadToEnd();Debug.Log("result="+result);))))catch(Exceptionex)(//Console.WriteLine(ex.StackTrace);Debug.Log(ex.StackTrace);)returnresult;)publicvoidPlayClipData(Int16[]intArr)(stringaaastr=intArr.ToString();longaaalength=aaastr.Length;Debug.LogError("aaalength="+aaalength);stringaaastr1=Convert.ToString(intArr);aaalength=aaastr1.Length;Debug.LogError("aaalength="+aaalength);if(intArr.Length==0)(Debug.Log("getintarrclipdataisnull");return;)〃從Int16口到float[]Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計|原畫設(shè)計|動漫美術(shù)|游戲策劃學(xué)游戲就上我學(xué)院float[]samples=newfloat[intArr.Length];intrescaleFactor=32767;for(inti=0;i<intArr.Length;i++)(samples[i]=(float)intArr[i]/rescaleFactor;)〃從float□到ClipAudioSourceaudioSource=this.GetComponent<AudioSource>();if(audioSource.clip==null)(audioSource.clip=AudioClip.Create("playRecordClip",intArr.Length,1,44100,false,false);)audioSource.clip.SetData(samples,0);audioSource.mute=false;audioSource.Play();)publicvoidPlayRecord()(if(audio.clip==null)(Debug.Log("audio.clip=null");return;)audio.mute=false;audio.loop=false;audio.Play();Debug.Log("PlayRecord");)publicvoidLoadAndPlayRecord()(stringrecordPath="yourpath";//SavWav.LoadAndPlay(recordPath);)publicfloatGetAveragedVolume()(Unity3D|Cocos|php|HTML5|Java|ios|Android|C#|AS3|UI設(shè)計|原畫設(shè)計|動漫美術(shù)|游戲策劃N我學(xué)院學(xué)游戲就上我學(xué)院float[]data=newfloat[256];floata=0;audio.GetOutputData(data,0);foreach(floatsindata)(a+=Mathf.Abs(s);)returna/256;//UpdateiscalledonceperframevoidUpdate()(loudness=GetAveragedVolume()*sensitivity;if(loudness>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑模板研發(fā)與技術(shù)支持合同4篇
- 臨時工勞動合同范本(2024版)
- 中醫(yī)承師合同模板
- 2025版外貿(mào)鞋子購銷合同模板:品牌設(shè)計合作協(xié)議3篇
- 2025年度汽車維修行業(yè)深度合作框架協(xié)議
- 二零二五年度解除租賃合同及約定租賃物租賃期限變更協(xié)議
- 二零二五年度洗車行業(yè)培訓(xùn)與認證協(xié)議
- 2025年度市政基礎(chǔ)設(shè)施竣工驗收合同
- 二零二五年度勞動合同解除員工離職賠償金支付協(xié)議
- 二零二五年度水利工程測繪數(shù)據(jù)保密協(xié)議書
- 2024年中國醫(yī)藥研發(fā)藍皮書
- 廣東省佛山市 2023-2024學(xué)年五年級(上)期末數(shù)學(xué)試卷
- 臺兒莊介紹課件
- 疥瘡病人的護理
- 人工智能算法與實踐-第16章 LSTM神經(jīng)網(wǎng)絡(luò)
- 17個崗位安全操作規(guī)程手冊
- 2025年山東省濟南市第一中學(xué)高三下學(xué)期期末統(tǒng)一考試物理試題含解析
- 中學(xué)安全辦2024-2025學(xué)年工作計劃
- 網(wǎng)絡(luò)安全保障服務(wù)方案(網(wǎng)絡(luò)安全運維、重保服務(wù))
- 現(xiàn)代科學(xué)技術(shù)概論智慧樹知到期末考試答案章節(jié)答案2024年成都師范學(xué)院
- 軟件模塊化設(shè)計與開發(fā)標(biāo)準(zhǔn)與規(guī)范
評論
0/150
提交評論