2013-04-21 93 views
2

我試圖將混響效果通過對輸出組合創造了混響(音頻會話「0」),以媒體播放器,當我開始我用這個代碼媒體播放器混響不工作

public void reverb1(View v){ 
    PresetReverb mReverb = new PresetReverb(0,0);//<<<<<<<<<<<<< 
    mReverb.setPreset(PresetReverb.PRESET_LARGEROOM); 
    mReverb.setEnabled(true); 
    mp1.attachAuxEffect(mReverb.getId()); 
    mp1.setAuxEffectSendLevel(1.0f); 

} 

然而歌曲和應用效果什麼也沒有發生,歌曲繼續和混響效果不適用。我還在清單<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 中加入了這個權限,結果還是一樣,我做錯了什麼? 我也試過PresetReverb mReverb = new PresetReverb(0, mp1.getAudioSessionId());但仍然是相同的結果。

任何幫助將不勝感激

回答

0
PresetReverb mReverb = new PresetReverb(0, mp1.getAudioSessionId()); 

這個構造函數有兩個參數,第一個是重點,另外一個是音頻會話ID。如果你想混響比保持優先級1並使用全局audiosessionId。

PresetReverb mReverb = new PresetReverb(1, 0); 
mReverb.setPreset(PresetReverb.PRESET_LARGEROOM); 
mReverb.setEnabled(true); 
mp1.attachAuxEffect(mReverb.getId()); 
mp1.setAuxEffectSendLevel(1.0f); 

還有一點需要注意的是,這種混響效果在某些設備中不受支持......因爲它們具有有限的均衡器頻帶。我沒有完美的資源來確認我關於某些設備的狀態,但我在某些設備上測試過相同的設備&它對某些設備工作正常,對某些設備工作不正常

+0

您好,我遇到同樣的問題嗎?爲了這。我正在尋找這麼多天的解決方案,但沒有得到任何。請提前分享您的解決方案,感謝混響問題,並熱切地等待您的答覆..... – Ram 2013-07-12 10:02:45

+0

它不適用於某些設備...嘗試使用sony的手機,它可能會工作 – 2013-07-15 09:18:40