X3DAudio中聲道音量跳變的問題

2021-08-24 23:55:22 字數 729 閱讀 4925

對於3d音效, 左右耳的音量是不一樣的. 當然, 眼下沒有條件試驗傳說中的6.1聲道是啥子效果, 所以不考慮這種情況. 正是因為左右有音量的差別, 才能根據耳朵去定位音源的方位.

如果是只有兩個聲道, 比如耳機, 那麼兩隻耳朵的音量變化有時候就很突兀. 為什麼呢?

以現實來說, 人的兩耳所能感受的聲音方向是不同的, 正好左右對稱. 如下圖. 橫線上兩耳的音量差別是最大的, 縱線上兩耳的音量是相等的. 如果音源正好位於橫線上, 那麼在一定範圍外, 有乙隻耳朵是聽不到聲音的, 這是由於聲音的方向性和耳朵可接收聲音角度共同決定的. 一旦兩耳和音源的相對位置沿橫線發生變化, 就會出現乙隻耳朵突然有聲音或是突然沒聲音的奇怪現象.

為了解決這個問題, x3daudio的emitter提供了兩個屬性,innerradiusinnerradiusangle. innerradius是為了在這個半徑內, 聲音可以平滑地進行過渡, 而innerradiusangle則是為了讓聲音可以"擴散"到周圍的揚聲器上去. 簡單地說, 就是犧牲3d空間感換取聲音的漸變效果. 實際使用需要試驗才能得出好的效果. (我這裡暫時定了5公尺的半徑和90度的角度.)

iOS中的2x,3x問題

iphone的螢幕顯示效果非常出色。剛進入市場時,iphone是當時解析度最高的手持電子裝置。不過,iphone 的顯示空間並不大,比現代計算機的螢幕空間要小很多。最初幾代iphone的螢幕解析度只有320畫素 480畫素,從iphone 4的retina螢幕開始,解析度增加到了640畫素 960畫...

Python3 X中的條件控制

python中沒有switch case語句。python中需條件 迴圈等後面使用冒號 做結尾。python中使用縮排劃分 塊,相同縮排則代表同乙個 塊。python中使用elif代替else if。可以使用比較運算子 in 和 not in 檢測值是否存在區間之中。if條件語句 a 10 if a...

thinkphp3 x中cookie方法的用法分析

一 cookie函式也是乙個多元化操作函式,完成cookie的設定 獲取和刪除操作。cookie 用於cookie 設定 獲取 刪除操作 用法 cookie name,valu程式設計客棧e option null 引數 name 必須 要操作的cookie變數 value 可選 要設定的cooki...