它應該是簡單,因爲這:的MediaPlayer不玩 - 錯誤(-22,0)
private void startPlaying() {
mPlayer = new MediaPlayer();
try {
mPlayer.setDataSource(mFileName);
BassBoost bassBoost = new BassBoost(0, mPlayer.getAudioSessionId());
mPlayer.attachAuxEffect(bassBoost.getId());
bassBoost.setStrength((short)1000);
bassBoost.setEnabled(true);
mPlayer.setAuxEffectSendLevel(1.0f);
mPlayer.prepare();
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mPlayer.start();
}
});
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e);
}
}
當我嘗試,它是安靜的,我得到的錯誤(-22,0)日誌。如果我評論BassBoost bassBoost = ...
和mPlayer.setAuxEffectSendLevel
之間的界限,它會播放聲音OK。
我雖然去了文檔,但我無法找到錯誤。清單中的權限:
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
真的?沒有答案? – Trick
您有任何有關此問題的答案或解決方案嗎?或者在Media Player中實現BassBooster? –
其實我沒有找到解決辦法。我用'SoundPool'完成了我的效果。 – Trick