unity Audio基本知識 一

2021-10-04 08:29:55 字數 2329 閱讀 6284

答:不是,unity預設把所有的音訊資料,重新取樣到44khz的檔案中,但這個取決於你的壓縮格式,如果你的音訊是48khz(24位)的音訊,你希望不被重新取樣,以原有的頻率輸出,則需要做的就是更改取樣設定:

注意:高頻率的音訊,檔案大,但是***,適合短音訊,低取樣率的音訊,檔案小,質量稍差,適合長音訊

2.常用的api

2.1 audiosetting:

獲得mixer的當前輸出速率

獲得當前的音訊配置audiosettings.getconfiguration

當前音訊設定更改後觸發的事件audiosettings.onaudioconfigurationchanged

當全域性音訊設定被更改時,通過audiosetings呼叫的委託。當作業系統控制面板改變取樣率或缺省輸出裝置的改變,例如當插入乙個hdmi監視器或usb耳機。也會呼叫

通過audiosettings.reset設定音訊配置,

比如:audioconfiguration _audioconfig = audiosettings.getconfiguration ();

_audioconfig.speakermode = audiosettings.drivercapabilities;

audiosettings.reset (_audioconfig);

2.2 audioconfiguration 音訊配置

public audiospeakermode speakermode;  設定音訊的聲道

2.3 audiospeakermode 列舉,單聲道還是多聲道

2.4microphone

public static string devices;//返回裝置上可用的麥克風裝置,返回名字陣列

public static void end(string devicename);停止記錄,如果傳遞為null或者空字串,則為預設裝置,下面的都一樣

public static void getdevicecaps(string devicename, out int minfreq, out int maxfreq);//獲得裝置的支援的取樣頻率,如果最 大和最小當中有0,說明該裝置支援任意取樣頻率

public static bool isrecording(string devicename);//麥克風是否正在記錄

public static audioclip start(string devicename, bool loop, int lengthsec, int frequency);//麥克風開始記錄,第乙個為null或者空字串,表示預設裝置,第三個引數是錄製多長時間,第二個引數表示到了指定時間,是否還繼續錄製,相當於錄製了同時錄製兩種聲音,第四個引數是錄製的取樣頻率,比如44100,返回值是乙個音訊檔案

注意:訪問麥克風的時候會有相應的許可權提示

4.怎麼把audioclip打包到assetbundle中?建立乙個空物體,新增audiosource元件,把要打包的audioclip新增上去,然後打包這個空物體

5.怎麼讓unity實時回放麥克風輸入的話?

6.如果有很多音訊,不想為每乙個音訊都新建乙個空物體,怎麼辦?

7.音訊有延遲怎麼辦?

音訊延遲25ms一下,就認為是正常的,在ios上延遲大概20ms,但是在安卓上大概在200-300之間,解決的方法乙個是在projectsetting->audio->dsp buffer size->best latency ,或者使用外掛程式

8.怎麼優化音訊,使效能更好?

1.對於長**,一般是背景音

使用 load type 「streaming」 、 compression format 「vorbis」. 這種組合將使用最少的記憶體,但是需要一些cpu能力和磁碟i/o吞吐量

2.對於短**

基本知識總結一

一.物件導向和面向過程的區別 面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。例如五子棋,面向過程的設計思路就是...

ORACLE基本知識(一)

oracle 基本知識 乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表...

Jquery 基本知識 一

1.dom物件 通過例如getelementbyid方法獲取到dom樹中的元素就是dom物件 jquery物件 通過jquery包裝dom物件後產生的物件 注意 jquery物件和dom物件不能使用對方的任何方法 2.dom物件和jquery物件之間的轉化 jquery物件轉成dom物件有兩種方法 ...