首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对RingtoneManager实例化的MediaPlayer进行.release()?

如何对RingtoneManager实例化的MediaPlayer进行.release()?
EN

Stack Overflow用户
提问于 2013-03-16 22:07:55
回答 1查看 1.6K关注 0票数 3

我在我的活动中收到默认铃声:

代码语言:javascript
复制
remindRingtoneView = (TextView) findViewById(R.id.remind_ringtone);

remindRingtoneView.setText(RingtoneManager.getRingtone(
            NewReminder.this, ringtone_uri).getTitle(
            NewReminder.this));

在这一行之后,我在LogCat中得到了一个调试行,带有tag = 'Ringtone‘和message =

'Successfully created a local player'.

当我完成了活动和系统垃圾收集器的工作后,我收到了一条LogCat =

代码语言:javascript
复制
'MediaPlayer finalized without being released'.

我怎样才能释放它?

答案是:

代码语言:javascript
复制
Ringtone remind_ringtone = RingtoneManager.getRingtone(
            NewReminder.this, ringtone_uri);        
remindRingtoneView.setText(remind_ringtone.getTitle(NewReminder.this));
remind_ringtone.stop();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-16 22:54:19

在您的程序中,RingtoneManager.getRingtone将向Ringtone类返回一个对象。如果我们认为这个对象是mRingTone,那么调用mRingTone.stop()将释放MediaPlayer对象。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15450255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档