错误来自ToneGenerator,我找不到问题.
在这里,我有一个倒数计时器,当计时器达到0时,应用程序启动一个ToneGenerator.
private voID lanceMinuteur(int temps,int color){ if(color == 0) minuteur.setTextcolor(getResources().getcolor(R.color.color_important)); else minuteur.setTextcolor(getResources().getcolor(R.color.color_informative)); if(chronolance){ chrono.cancel(); } chronolance = true; chrono = new CountDownTimer((temps + 1) * 1000,1000) { public voID onTick(long millisUntilFinished) { minuteur.setText(String.valueOf(millisUntilFinished / 1000) + "\""); } public voID onFinish() { minuteur.setText("0\""); minuteur.setTextcolor(getResources().getcolor(R.color.textcolor1design)); chronolance = false; final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION,100); //The error is coming from here tg.startTone(ToneGenerator.TONE_PROP_ACK); } }.start();}
我收到的崩溃日志:
java.lang.RuntimeException: Init Failedat androID.media.ToneGenerator.native_setup(Native Method)at androID.media.ToneGenerator.<init>(ToneGenerator.java:798)at ma.myperf.musculation.activ.GoPerformanceActivity.onFinish(GoPerformanceActivity.java:350)at androID.os.CountDownTimer.handleMessage(CountDownTimer.java:118)at androID.os.Handler.dispatchMessage(Handler.java:99)at androID.os.Looper.loop(Looper.java:150)at androID.app.ActivityThread.main(ActivityThread.java:4385)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:507)at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:607)at dalvik.system.NativeStart.main(Native Method)
那可能是什么问题呢?如果ToneGenerator有一个尝试Catch块,我会打瞌睡但是没有.
我想也许发生崩溃的设备没有AudioManager.Stream_Notification?
解决方法 我发现这个 here:听起来你的应用程序没有发布它的媒体播放器资源.当你完成播放声音时,你需要拨打电话MediaPlayer.release()方法.如果你正在播放很多声音很快,垃圾收集器将无法跟上.
总结以上是内存溢出为你收集整理的ToneGenerator崩溃Android全部内容,希望文章能够帮你解决ToneGenerator崩溃Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)