【问题标题】:MediaPlayer not playing when attaching BassBoost - error (-22, 0)附加 BassBoost 时 MediaPlayer 不播放 - 错误 (-22, 0)
【发布时间】:2012-09-26 13:02:43
【问题描述】:

应该这么简单:

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 之间的行,它会播放声音。

我查看了文档,但找不到错误。清单中的权限:

<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"/>

【问题讨论】:

  • 您对此有任何答案或解决方案吗?还是在媒体播放器中实现 BassBooster ?
  • 其实我没有找到解决办法。我用SoundPool 完成了我的效果。
  • 是的,Soundpool 很不错。但是如何对 mediaPlayer 做同样的事情呢?有什么想法吗?
  • 对不起,没有。我对 SoundPool 很满意 :)
  • 好的。感谢您的评论。如果您找到任何解决方案,请在此处回答。

标签: java android audio effects android-mediaplayer


【解决方案1】:

您的 bassboost 在创建时已与您的媒体播放器相连。所以去掉这行mPlayer.attachAuxEffect(bassBoost.getId());

【讨论】:

  • 虽然这个代码块可能会回答这个问题,但如果你能提供一些解释为什么会这样,那将是最好的解释。
  • 据我所知:调用attachAuxEffect 会将其添加到效果列表中。如果该效果已经在列表中,则会导致错误。这在MediaPlayer 中显示的方式是调用OnErrorListener。我自己看到了这个,直到这个答案我才弄清楚。其次,我认为保留对BassBoost 的引用是必需的,但我尚未验证
【解决方案2】:

是的,从媒体播放器类中删除方法attachAuxEffect,我的意思是这个linemPlayer.attachAuxEffect(bassBoost.getId());

其次,您可以在媒体播放器的任何状态(空闲状态除外)调用bass boost对象

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 2012-04-10
    • 2022-10-13
    • 2017-05-19
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多