Android会停止媒体播放器音频

时间:2013-11-28 11:11:13

标签: android android-intent android-mediaplayer android-mediarecorder

我有一个频率很高的“点击”,但是在点击20-25之后,声音消失了。

 MediaPlayer mp;

                mp = MediaPlayer.create(mService.getApplicationContext(),R.raw.click2);
                mp.start();
            }

ANdroid默认阻止这种循环?

1 个答案:

答案 0 :(得分:0)

我在你提供的代码中没有看到循环,但是如果你实际上是在循环中创建MediaPlayer并且没有调用release(),那么你将导致错误通过消耗太多的可用资源。我有几个提示。

提示#1:请勿使用mService.getApplicationContext(),因为(我认为)mServiceService,而 ContextService继承自Context)。你基本上不应该使用getApplicationContext()

提示#2:使用一个MediaPlayer并注意state machine。尝试这样的事情:

MediaPlayer mp = new MediaPlayer();
...
while (whateverCondition) { // I don't know what loop construct you are using...
    mp.reset();
    mp.setDataSource(this,
        Uri.parse("android.resource://com.your.package/" + R.raw.click2);
    mp.prepare();
    mp.start();
}
...
mp.release();

您需要根据需要填写包裹名称,但它应该让您走上正确的道路。