在android系统中,不同铃声存放的铃声路径:/system/media/audio/ringtones        来电铃声/system/media/audio/notifications        短信通知铃声/system/media/audio/alarms        闹钟铃声铃声的设置:import java.io.File;  import android.app.Activity;  import android.content.Intent;  import android.media.RingtoneManager;  import android.net.Uri;  import android.os.Bundle;  import android.view.View;  import android.widget.Button;  public class Activity01 extends Activity  {  /* 3个按钮 */  private Button mButtonRingtone;  private Button mButtonAlarm;  private Button mButtonNotification;  /* 自定义的类型 */  public static final int ButtonRingtone          = 0;  public static final int ButtonAlarm             = 1;  public static final int ButtonNotification      = 2;  /* 铃声文件夹 */  private String strRingtoneFolder = "/sdcard/music/ringtones";  private String strAlarmFolder = "/sdcard/music/alarms";  private String strNotificationFolder = "/sdcard/music/notifications";  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState)  {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  mButtonRingtone = (Button) findViewById(R.id.ButtonRingtone);  mButtonAlarm = (Button) findViewById(R.id.ButtonAlarm);  mButtonNotification = (Button) findViewById(R.id.ButtonNotification);  /* 设置来电铃声 */  mButtonRingtone.setOnClickListener(new Button.OnClickListener()   {  @Override  public void onClick(View arg0)  {  if (bFolder(strRingtoneFolder))  {  //打开系统铃声设置  Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);  //类型为来电RINGTONE
                        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);  //设置显示的title  intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置来电铃声");  //当设置完成之后返回到当前的Activity
                        startActivityForResult(intent, ButtonRingtone);  }  }  });  /* 设置闹钟铃声 */  mButtonAlarm.setOnClickListener(new Button.OnClickListener()   {  @Override  public void onClick(View arg0)  {  if (bFolder(strAlarmFolder))  {  //打开系统铃声设置  Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);  //设置铃声类型和title
                        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM);  intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置闹铃铃声");  //当设置完成之后返回到当前的Activity
                        startActivityForResult(intent, ButtonAlarm);  }  }  });  /* 设置通知铃声 */  mButtonNotification.setOnClickListener(new Button.OnClickListener()   {  @Override  public void onClick(View arg0)  {  if (bFolder(strNotificationFolder))  {  //打开系统铃声设置  Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);  //设置铃声类型和title
                        intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);  intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "设置通知铃声");  //当设置完成之后返回到当前的Activity
                        startActivityForResult(intent, ButtonNotification);  }  }  });  }  /* 当设置铃声之后的回调函数 */  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data)  {  // TODO Auto-generated method stub  if (resultCode != RESULT_OK)  {  return;  }  switch (requestCode)  {  case ButtonRingtone:  try  {  //得到我们选择的铃声  Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);  //将我们选择的铃声设置成为默认  if (pickedUri != null)  {  RingtoneManager.setActualDefaultRingtoneUri(Activity01.this, RingtoneManager.TYPE_RINGTONE, pickedUri);  }  }  catch (Exception e)  {  }  break;  case ButtonAlarm:  try  {  //得到我们选择的铃声  Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);  //将我们选择的铃声设置成为默认  if (pickedUri != null)  {  RingtoneManager.setActualDefaultRingtoneUri(Activity01.this, RingtoneManager.TYPE_ALARM, pickedUri);  }  }  catch (Exception e)  {  }  break;  case ButtonNotification:  try  {  //得到我们选择的铃声  Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);  //将我们选择的铃声设置成为默认  if (pickedUri != null)  {  RingtoneManager.setActualDefaultRingtoneUri(Activity01.this, RingtoneManager.TYPE_NOTIFICATION, pickedUri);  }  }  catch (Exception e)  {  }  break;  }  super.onActivityResult(requestCode, resultCode, data);  }  //检测是否存在指定的文件夹   //如果不存在则创建  private boolean bFolder(String strFolder)  {  boolean btmp = false;  File f = new File(strFolder);  if (!f.exists())  {  if (f.mkdirs())  {  btmp = true;  }  else  {  btmp = false;  }  }  else  {  btmp = true;  }  return btmp;  }  }  铃声的播放:player = new MediaPlayer();  try{  player.setDataSource(context, pickUri);  }catch(Exception e){  e.printStackTrace();  }  final AudioManager  audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);  if(audioManager.getStreamVolume(AudioManager.STREAM_ALARM)!=0){  player.setAudioStreamType(AudioManager.STREAM_ALARM);  player.setLooping(true);  try {  player.prepare();  } catch (Exception e) {  // TODO Auto-generated catch block
        e.printStackTrace();  }  player.start();  }  

转载于:https://www.cnblogs.com/Free-Thinker/p/6704982.html

android-铃声的设置与播放相关推荐

  1. Android IJKPlayer缓冲区设置以及播放一段时间出错解决方案

    Android IJKPlayer缓冲区设置以及播放一段时间出错解决方案 参考文章: (1)Android IJKPlayer缓冲区设置以及播放一段时间出错解决方案 (2)https://www.cn ...

  2. android手机电话铃声设置,安卓手机铃声怎么设置

    网上有很多安卓手机铃声的设置教程,说什么SD卡里建立这个那个的文件夹,那问题是怎么才能进到SD卡里去建立文件夹啊?手机里哪个选项里进去呢? 这里小编告诉你,可以通过电脑连接数据线管理SD卡.下面介绍两 ...

  3. Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声

    Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声 一.Android来电铃声默认设置的实现方法 Andoird默认来电铃声的设置方法为修改build/target/product/ ...

  4. android 铃声 文件夹,安卓手机怎么设置铃声 安卓铃声文件夹在哪里设置

    设置铃声应该是一件比较容易的事情,只是google在androi4.0以后,貌似不能自定义铃声了.这对于个性强的机友来说,这是个多么大的致命伤,但是如果你刷的好的rom还是有自定义铃声的选项的,那么安 ...

  5. android 铃声设置失败,Android铃声设置错误

    点击按钮运行set_ringtone.没有错误,它设置铃声.但是当我第二次点击按钮时,出现错误.Android铃声设置错误 public void set_ringtone(Context conte ...

  6. ym——Android从零开始(28)(来电铃声的设置、手机闹钟、手势识别)(新)

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 来电铃声的设置.手机闹钟.手势识别来电铃声的设置 MediaStore简介 Media ...

  7. android 铃声设置流程讲解

    总体思路为 : 1.截取铃声 2.保存入sd卡 3.获取铃声信息 4.将信息和文件路径写入数据库获得铃声Uri 5.将获得的Uri设置为铃声. 核心实现:在 public class DefaultR ...

  8. java设置铃声_在Android 7(API 24级)中,我的应用不允许静音手机(将铃声模式设置为静音)...

    感谢您的回答,这里有一点点细节. 为了能够将铃声模式设置为静音,您必须具有访问通知策略的权限(如@ucsunil所说). 首先检查你是否有这个权限.如果没有,请打开应用程序的免打扰访问设置: Noti ...

  9. Android 11.0 当安装多个播放器时,设置默认播放器播放歌曲

    目录 1.概述 2.当安装多个播放器时,设置默认播放器播放歌曲的核心类

  10. Android 12.0 系统多个播放器app时,设置默认播放器

    目录 1.概述 2.系统多个播放器app时,设置默认播放器的核心类

最新文章

  1. xmanager破解待验证
  2. 消息消费端的确认机制
  3. PowerDesigner建数据库模型增加自定义扩展属性
  4. float浮点数的四舍五入
  5. ppt 2 html工具,PPTools PPT2HTML
  6. dnf服务器延迟怎么看,dnf如何判断自己网络还是服务器出问题_dnf判断自己网络还是服务器出问题详细介绍_游戏堡...
  7. 冷热水龙头_冷热水龙头结构图 冷热水龙头怎么拆
  8. Servlet CDI Example Analysis
  9. webgis之Openlayer加载wmts服务
  10. 【BZOJ 3652】大新闻 数位dp+期望概率dp
  11. 蒙哥英语原版阅读器android,蒙哥英语原版阅读器安卓版
  12. 英语单词最全的前后缀讲解
  13. 桌面快捷方式图标不能删除的原因以及处理方法
  14. 42表盘直径是从哪测量_手表尺寸怎么测量的?手表尺寸测量方法
  15. 无人机油动发动机调试
  16. siri中文语音助理_智能语音应用在哪些场景?
  17. 计量芯片应用心得之硬件篇
  18. Tesseract-OCR -01-Tesseract 介绍
  19. 提高效率:10款好用的谷歌chrome浏览器插件、扩展程序
  20. Five I/O Models

热门文章

  1. 2018年1月 常用的linux命令
  2. 用原生JS读写CSS样式的方法总结
  3. LoadRunner脚本增强技巧之检查点
  4. 中软国际 问题一php的优缺点
  5. ASP.NET MVC的ContentResult
  6. 将G1内的SIM卡联系人导入到GMAIL的联系人中
  7. matlab plot绘制曲线
  8. 理解linux time命令的输出
  9. 如何查看一个网站是否部署了SSL证书?
  10. 精益或六西格玛已经不易了,为啥还需要“精益六西格玛”?