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

如何释放由RingtoneManage实例化的MediaPlayer

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

参考资料: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://xjtudll.cn/Exp/367/

标签: Android
分享给朋友:

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

ios ble:didDiscoverPeripheral没有回调

参考资料: http://stackoverflow.com/questions/26320578/diddiscoverperipheral-not-been-called-after-advertising-another-ios-device 问题: 启动scan之后,didDiscoverP...

sql server 2008提示“列名无效”,但是能正常查询

在SQLServer2008中,当设计(修改)表结构之后,再用SQL语句时,列名会显示无效,但执行可以通过.原因是SQL Server的intellisense(智能感知功能)需要重新整理一下,用快捷键Ctrl+Shift+R即可 归根结底是智能提示出了问题,用了缓存。...

PDF factory pro Server Edition注册教程

PDF factory pro Server Edition注册教程

问题: 有注册码,但是找不到输入注册码的地方 版本:pdf Factory pro Server Edition 5.2.5 环境: Windows server 2008 R2 网上说试着打印一个文件,就会弹出注册窗口,实际没用。这个方法估计是针对单机版,不是服务器版的。 解决办法: 1、打开控...

固定水晶报表每页显示的行数两种方法

方法一:   例如每页显示20条记录:    1.选择[区段专家]    2.选择[明细]    3.选择[在之前新增分页]的公式按钮,输入以下公司    IF   Remaind...

“CrystalDecisions.ReportSource.ReportSourceFactory”的类型初始值设定项引发异常

“CrystalDecisions.ReportSource.ReportSourceFactory”的类型初始值设定项引发异常

VS2010 System.TypeInitializationException: “CrystalDecisions.ReportSource.ReportSourceFactory”的类型初始值设定项引发异常。 System.TypeInitializationExce...

VS C#错误 未能找到类型或命名空间名称"xxxxxx"的真正原因

问题描述: 明明已经引用了项目(或DLL),但一编译就提示:未能找到类型或者命名空间。 根本原因还是引用的问题,引用错了,然后VS在这上面提示又不够智能 第一种可能: 这种可能性很好排查,A项目所使用的.net版本为3.5,B项目为4.0,那么A引用B是肯定要出事的 而错误提示就是那坑爹的未能找到类...

发表评论

访客

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