当前位置:首页 > 技术心得 > 正文内容

如何释放由RingtoneManage实例化的MediaPlayer

xjtudll11年前 (2015-09-26)技术心得15840

参考资料:http://stackoverflow.com/questions/15450255/how-to-release-the-mediaplayer-instantiated-by-ringtonemanager

为了获取android铃声的名称,使用了以下代码

//根据铃声地址获取铃声的名称
public String getRingtonName(Uri uri)
{
Ringtone r= RingtoneManager.getRingtone(getActivity(), uri);
String toneName = r.getTitle(getActivity());
return toneName;
}

调用该方法后,LogCat里提示:

'Successfully created a local player'.

接着又有个Warning:

'MediaPlayer finalized without being released'.

如何消除这个警告呢?使用Ringtone的stop方法。

修改后的代码如下:

//根据铃声地址获取铃声的名称
public String getRingtonName(Uri uri)
{
Ringtone r= RingtoneManager.getRingtone(getActivity(), uri); //会提示Successfully created a local player
String toneName = r.getTitle(getActivity());
r.stop();//避免出现MediaPlayer finalized without being released
return toneName;
}

 

 

 

 

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/367/

标签: Android
分享给朋友:

“如何释放由RingtoneManage实例化的MediaPlayer” 的相关文章

source insight导入配置文件

source insight导入配置文件

Source insight的配置文件默认路径如下:\Documents\Source Insight\Settings 中文版本的在: \我的文档\Source Insight\设置 option -- load configuration可以选择source insight使用的配置文件。 &...

销售订单序时簿中过滤界面中,【名称】的下拉列表中无法选择到【购货单位】,也就是无法按【购货单位】过滤销售订单?

【操作步骤】   1、使用有权限的用户登录K3主界面后,单击左上角【系统】→【K/3BOS】,输入用户名及密码,登入账套,依次单击打开【供应链】→【销售管理】,找出业务单据销售订单并双击打开;   2、单击菜单【编辑】-【序时簿设置】,找到字段【购货单位$】,...

NodeMCU无限打印:wifi_event_monitor_handle_event_cb is called

NodeMCU一直输出: wifi event monitor handle event cb is called wifi event monitor handle event cb is called wifi event monitor handle event cb is ca...

用反相器和晶振做晶体振荡电路

用反相器和晶振做晶体振荡电路

采用下图所示电路可以实现方波时钟信号输出的功能: 电路分析: 时钟信号为CMOS电平输出,频率等于晶振的并联谐振频率。 (1) 74HC04在这里相当于一个有很大增益的放大器; (2) R2是反馈电阻,取值一般≥1MΩ,它可以使反相器在振荡初始时处于线性工作区,不可以省略,否则有...

Keil C51编译错误:address space overflow

Keil C51编译错误:address space overflow

近日在使用Keil的时候,遇到了一个问题:address space overflow。程序最初编译的时候没这问题,当我增加一段代码后,出现了这个问题。经网上搜索,发现根本原因是:data只能是RAM中的前128个,变量超过128个时会出现ADDRESS SPACE OVERFLOW。 &nb...

如何扩展SyntaxHighlighter

    在做这个工作之前,你需要对JavaScript有比较深入的了解,尤其需要熟悉正则表达式。如果网络已经存在你需要拓展的加亮库,那就不用自己搞了,直接选用。另外,如果你需要拓展的语言跟已经存在的加亮库类似,那么可以修改它。比如,C51是在C上扩展而成,所以我们可以选...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。