Android开发铃声的设置与播放
来源:互联网 发布:老司机 知乎 收藏夹 编辑:程序博客网 时间:2024/06/10 05:03
在android系统中,不同铃声存放的铃声路径:
- 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;
- }
- }
铃声的播放:
0 0
- Android开发铃声的设置与播放
- android获取系统设置的铃声并播放
- Android开发之设置铃声
- Android开发_铃声设置
- Android 手机设置中铃声设置里的通知音量与铃声音量的分离
- Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声
- Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声
- Android来电铃声默认设置的实现方法与怎么设置语音来电的默认铃声
- Android来电铃声默认设置的实现方法与怎么设置语音来电的默认铃声
- ios开发如何播放系统的铃声
- android_N上关机闹钟铃声问题_设置的铃声和播放的铃声不一样
- 铃声设置项目 ------ android应用开发揭秘
- android开发解决设置铃声无效问题
- android 播放来电铃声
- android 播放铃声
- android播放铃声
- 我的Android进阶之旅------>Android系统设置默认来电铃声、闹钟铃声、通知铃声
- Android 设置铃声
- Poj 2488 A Knight's Journey(Dfs)
- JVM垃圾收集算法及垃圾收集器
- 管理学的二十大定律
- XIB、Storyboard操作小技巧
- Eclipse设置类似Sublime Text 编辑区皮肤,风格,颜色
- Android开发铃声的设置与播放
- Frame,Bounds和Center的区别,联系
- Poj 2503 Babelfish
- 从不同步的代码块中调用了对象同步方法 C#
- opencv实现车牌识别之字符识别
- 《网络流学习笔记05--最小割最大流问题》
- 一、STM32L0538DISCOVERY 开发板到手
- hdu 4438
- uvalive4794(集合+状态压缩)