alarm-关于android 中RingtoneManager点击多个铃声多个铃声一起响

问题描述

关于android 中RingtoneManager点击多个铃声多个铃声一起响
      RingtoneManager rm=new RingtoneManager(AlarmClock_setting.this);
                rm.setType(RingtoneManager.TYPE_ALARM);
                rm.getCursor();
                rm.getRingtone(position-1).play();

运行后,点击listview中的相应的铃声,点击多个,这几个铃声一直响。除非杀掉程序才行。请问怎样才能实现点击一个铃声时,stop上一个铃声再开始响这个铃声?

解决方案

点击listview的时候首先判断rm是不是正在播放,正在播放的话,就让rm停掉,播放另外 铃声,否则就让他播放

解决方案二:

定义一个 MediaPlayer

``` MediaPlayer myPlaryer = new MediaPlayer();

然后在listview的onItemClick中
我这里封装了一个播放的函数,直接放到activity中或放到包里面都是可以的
主要就是判断是否正在播放,播放就先stop,

audio_play(myPlaryer, Ring_Url);



protected void audio_play(MediaPlayer myPlaryer, Uri play_ring_Url) {
// TODO Auto-generated method stub
if (myPlaryer.isPlaying()) {
myPlaryer.stop();
}
try {
myPlaryer.reset();
myPlaryer.setDataSource(ChoiceRingSource2.this, play_ring_Url);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlaryer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
myPlaryer.start();
}



时间: 2024-11-03 21:50:16

alarm-关于android 中RingtoneManager点击多个铃声多个铃声一起响的相关文章

onitemclick-关于android中listview点击item没有反应

问题描述 关于android中listview点击item没有反应 public class MapActivity extends BasePagerActivity { private MapView mMapView = null; private BaiduMap mBaiduMap; private ListView map_menu_lv; @Override protected void onCreate(Bundle savedInstanceState) { // TODO A

web iew播放视频横屏-android中webView点击播放按钮全屏

问题描述 android中webView点击播放按钮全屏 webView中视频,点击视频的播放按钮自动全屏,怎么监听点击了视频的播放按钮

Android中Listview点击item不变颜色及设置listselector 无效的解决方案_Android

这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listselector,有一个默认的颜色,同理如果点击没颜色变化我们怎么设置listselector也不会变颜色的. 但是在我们的开发过程中,我们可能会碰到这样的问题listview点击不变颜色,总结了一下大概有这几种原因: 1.item的layout设置background颜色值,去掉背景颜色即可 2.listview中listselector属性的效果被覆盖了,比如列表的Item为一个占满单元格的I

Android中RecyclerView点击Item设置事件_Android

在上一篇Android RecylerView入门教程中提到,RecyclerView不再负责Item视图的布局及显示,所以RecyclerView也没有为Item开放OnItemClick等点击事件,这就需要开发者自己实现.博客最下面有Demo程序运行动画. 奉上Demo的Github链接. 在调研过程中,发现有同学修改RecyclerView源码来实现Item的点击监听,但认为这不是一个优雅的解决方案,最终决定在RecyclerView.ViewHolder上做文章. 思路是:因为ViewH

Android中RecyclerView点击Item设置事件

在上一篇Android RecylerView入门教程中提到,RecyclerView不再负责Item视图的布局及显示,所以RecyclerView也没有为Item开放OnItemClick等点击事件,这就需要开发者自己实现.博客最下面有Demo程序运行动画. 奉上Demo的Github链接. 在调研过程中,发现有同学修改RecyclerView源码来实现Item的点击监听,但认为这不是一个优雅的解决方案,最终决定在RecyclerView.ViewHolder上做文章. 思路是:因为ViewH

Android中Listview点击item不变颜色及设置listselector 无效的解决方案

这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listselector,有一个默认的颜色,同理如果点击没颜色变化我们怎么设置listselector也不会变颜色的. 但是在我们的开发过程中,我们可能会碰到这样的问题listview点击不变颜色,总结了一下大概有这几种原因: 1.item的layout设置background颜色值,去掉背景颜色即可 2.listview中listselector属性的效果被覆盖了,比如列表的Item为一个占满单元格的I

Android中EditText点击获得焦点后无法显示输入法键盘

[背景] android中EditText的Enable已经设置为True了,表示可以被编辑, 但是点击输入框,获得焦点后,无法显示输入法,导致无法输入内容. 比如: Descriptor的值是EditText 之前已经设置为可编辑了: ? 1 2 EditText variableValueView = (EditText) variableLayout.findViewById(R.id.variableValue); variableValueView.setEnabled(true);

Android中AlertDialog 点击按钮后不关闭对话框的功能

这里的问题:当我点击确定按钮,也就是 AlertDialog 里的 PositiveButton 的时候,我们需要判断用户是输入是否符合我们的预期,如果不符合通常提示用户重写输入,且不关闭当前的对话框,但上图中点击按钮后会自动的关闭窗口. 先看原来的这个是怎么写的: private void openDialog() { LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(getContext()).inflate(R.l

Android 中ListView点击Item无响应问题的解决办法

如果listitem里面包括button或者checkbox等控件,默认情况下listitem会失去焦点,导致无法响应item的事件,最常用的解决办法是在listitem的布局文件中设置descendantFocusability属性. item的布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.androi