[英]Android Studio Java MediaPlayer plays only the first second of audio and then stops
[英]Android stops mediaplayer audio
我有一个高频率的“喀哒”声,但是单击20-25次后声音消失了。
MediaPlayer mp;
mp = MediaPlayer.create(mService.getApplicationContext(),R.raw.click2);
mp.start();
}
ANdroid默认会阻止这种循环吗?
好吧,我没有在您提供的代码中看到一个循环,但是如果您实际上是在循环中创建MediaPlayer
,而不是调用release()
,那么您将因使用过多可用资源而导致错误。 我有几个秘诀给你。
提示1:不要使用mService.getApplicationContext()
,因为(我假设) mService
是Service
且已经是 Context
( Service
继承自Context
)。 您基本上应该永远不要使用getApplicationContext()
。
提示2:使用一个MediaPlayer
并注意状态机 。 尝试这样的事情:
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();
您将需要适当地填写软件包名称,但这应该使您走上正确的道路。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.