2014-02-17 68 views
1

我使用這行代碼來設置聲源的增益。我想增加聲音的音量(如iOS中的鬧鐘),但如果我嘗試將增益設置爲大於1.0,則不起作用。爲什麼增加音頻增益不起作用?

在文檔有人說

/** 
* Indicate the gain (volume amplification) applied. 
* Type: ALfloat. 
* Range: ]0.0- ] 
* A value of 1.0 means un-attenuated/unchanged. 
* Each division by 2 equals an attenuation of -6dB. 
* Each multiplicaton with 2 equals an amplification of +6dB. 
* A value of 0.0 is meaningless with respect to a logarithmic 
* scale; it is interpreted as zero volume - the channel 
* is effectively disabled. 
*/ 
#define AL_GAIN         0x100A 

alSourcef(source, AL_GAIN, 4.0f);//Set gain/volume - 4.0f sounds the same as 1.0f gain 

難道我做錯了什麼?如果增益不起作用,有沒有其他方法可以增加音量。 謝謝

回答

1

值1.0表示未衰減/不變。因此,1.0f以上的值與1.0f相同。

+0

所以 - 每個乘法與2等於+ 6dB的放大,只有在小於1時纔有效? – User1234

+0

除以2的每個分頻將幅度減小6dB,並且全部在1.0f以上不會導致增加的音量。究竟。可能用戶必須改變設備的音量以獲得更大的輸出。至少對我來說,這與鬧鐘應用程序是一樣的。 – Volker

+0

設備聲音是最大的,但它仍然聽起來不夠響亮:(我現在不接受答案,可能有人有解決方法如何增加音量。謝謝澄清+1。 – User1234