2012-12-04 51 views
1

我正在製作一個觀鳥回放的觀鳥應用程序。許多錄製的歌曲都很糟糕,有些歌曲的音量很低。我知道如何設置音樂的最大音量與我可以在AudioManager.getStreamMaxVolume之外設置音量嗎?

AudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 
     mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0); 

但這可能不足以用於許多歌曲;我的銀河音符有相當壞的揚聲器,即使耳機最大值也很低...

對於低音量的歌曲,是否有可能在此最大值上增加增益,以便以相當的音量播放?

這可能聽起來像一個愚蠢的問題,但mplayer的Linux/Maemo有這個選項,名爲增益,這讓我在諾基亞N800播放高於最大的歌曲。

謝謝!

+0

恕我直言,你應該修改你的音頻樣本的音量,然後將它們包含在你的應用中。 –

+0

@EdwardFalk:對於1832種鳥類中的每一種,7GB的小歌曲文件,這些都是10到50首歌曲,我定期更新...... :) –

+0

我確定必須有一些實用程序可以讀取.wav文件,將它們的音量歸一化,並將它們重新寫回。 –

回答

0

而不是使用mediaplayer使用audiotrack播放文件。對於工作流程進行以下從文件作爲字節或短數組

  1. 添加增益只是乘以某個分數 樣品(相關問題Android - how to add gain control when recording
  2. 寫信樣品到audiotrack
  3. 然後播放它。
+0

對不起,我不確定我是否理解。你的意思是在播放之前處理音頻文件?這應該對電池,速度等產生強烈的影響......謝謝! –

+0

它會產生一些影響,但並不比讓系統處理媒體播放器中的音頻更糟糕,因爲它必須以這樣或那樣的方式進行處理。 –

+0

我明白了......會試試看。謝謝! –

相關問題