[英]MediaPlayer not playing when attaching BassBoost - error (-22, 0)
It should be simple as this: 它应该很简单:
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);
}
}
When I try, it is quiet and I get the error (-22,0) in the log. 当我尝试时,它很安静,并且在日志中收到错误(-22,0)。 If I comment the lines between BassBoost bassBoost = ...
and mPlayer.setAuxEffectSendLevel
it plays the sound OK. 如果我注释了BassBoost bassBoost = ...
和mPlayer.setAuxEffectSendLevel
之间的BassBoost bassBoost = ...
,它会播放声音。
I went though documentation, but I cant fidn the error. 我通过文档,但是我找不到错误。 Permissions in manifest: 清单中的权限:
<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"/>
You are already attached your bassboost with your mediaplayer when it created. 创建好低音机时,您已经将其与mediaplayer相连。 So remove this line mPlayer.attachAuxEffect(bassBoost.getId());
因此,删除此行mPlayer.attachAuxEffect(bassBoost.getId());
Yep, remove the method attachAuxEffect
from the media player class, I mean this linemPlayer.attachAuxEffect(bassBoost.getId());
是的,从媒体播放器类中删除方法attachAuxEffect
,我的意思是,这是linemPlayer.attachAuxEffect(bassBoost.getId());
Secondly you can call bass boost
object at any state of the media player excluding the idle state 其次,您可以在媒体播放器的任何状态(不包括空闲状态)下调用bass boost
对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.