android - 如何.release() RingtoneManager实例化的MediaPlayer?

标签 android android-mediaplayer

我的 Activity 中有一个默认铃声:

remindRingtoneView = (TextView) findViewById(R.id.remind_ringtone);

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

在这一行之后,我在 LogCat 中有一个调试行,标签 = 'Ringtone' 和消息 =

'成功创建本地播放器'.

当我完成 Activity 和系统垃圾收集器时,它做得很好,我在 LogCat 中收到一条警告消息 =

'MediaPlayer finalized without being released'.

如何释放它?

答案是:

Ringtone remind_ringtone = RingtoneManager.getRingtone(
            NewReminder.this, ringtone_uri);        
remindRingtoneView.setText(remind_ringtone.getTitle(NewReminder.this));
remind_ringtone.stop();

最佳答案

在您的程序中,RingtoneManager.getRingtone 将返回一个对象给Ringtone 类。如果我们将此对象视为 mRingTone,则调用 mRingTone.stop() 将释放 MediaPlayer 对象。

关于android - 如何.release() RingtoneManager实例化的MediaPlayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15450255/

相关文章:

android - java.lang.NoClassDefFoundError : com. github.julman99.gsonfire.GsonFireBuilder 问题

android - 我是否应该以编程方式打开 Wifi 和蓝牙扫描以获得更好的定位精度?

android - 如何更改 Anko 警报正/负按钮颜色?

android - MediaPlayer 在 Android 上启动和停止

android - MediaPlayer 的状态变化监听器

android - 我必须使用 Android X 吗?

android - 如何禁用在 Android 的 webview 中选择整个 Canvas ?

Android - 单击按钮时播放声音 - 空指针异常

android - 如何使用 adb 命令获取媒体播放器状态

java - 在 Android 问题上使用 MediaPlayer 类播放 mp3