您好我正在创建一个警报,我已经使用RingtonePreference选择alarmtone.So当用户选择他的铃声时,它将保存在共享首选项中,我可以使用所选铃声创建一个uri。
我的应用程序在闹钟响铃窗口中有一个停止按钮。当闹铃响起时,我想在我点击停止按钮时停止媒体播放器。我在这里使用的代码是 player.stop(); player.release( ); 我的问题是即使我点击停止按钮也不会停止播放。请帮助我。我的完整代码显示如下。
停止按钮代码
try
{
if(mp.isPlaying())
mp.stop();
mp.reset();//It requires again setDataSource for player object.
mp.release();
mp=null; // fixed typo.
}
catch(IllegalStateException e)
{
e.printStackTrace();
}
从共享偏好中读取所选铃声并使用Mediaplayer设置播放的代码
//reading preference value
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this)
String alarms = preferences.getString(getResources().getString(R.string.key_ringpref),"default ringtone");
soundUri = Uri.parse(alarms);
mp=MediaPlayer.create(getBaseContext(),soundUri);
mp.setOnErrorListener(this);
try
{
mp.prepare();
mp.setLooping(true);
} catch (IllegalStateException e1)
{
e1.printStackTrace();
} catch (IOException e1)
{
e1.printStackTrace();
}
mp.start();