`

android获取系统铃声并播放

阅读更多
private void startAlarm() throws IllegalStateException, IOException {
        mMediaPlayer = MediaPlayer.create(this, getSystemDefultRingtoneUri());
        mMediaPlayer.setLooping(true);//设置循环
        mMediaPlayer.prepare();
        mMediaPlayer.start();
    }

//获取系统默认铃声的Uri
    private Uri getSystemDefultRingtoneUri() {
        return RingtoneManager.getActualDefaultRingtoneUri(this,
                RingtoneManager.TYPE_RINGTONE);
    }

 发现了个问题,因为startAlarm是throw一个异常,在方法外面捕获异常无济于事(不会播放铃声),要在真正需要的地方捕获异常,所以重新重构了一下:

private void startAlarm() {
        mMediaPlayer = MediaPlayer.create(this, getSystemDefultRingtoneUri());
        mMediaPlayer.setLooping(true);
        try {
            mMediaPlayer.prepare();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        mMediaPlayer.start();
    }

 

1
0
分享到:
评论

相关推荐

    Android获取系统铃声并选择、保存demo

    本文将详细解析如何实现这样一个功能,基于提供的"Android获取系统铃声并选择、保存demo"。 首先,我们需要理解Android的音频资源管理。在Android系统中,音频资源分为多种类型,包括铃声、通知声、闹钟声等,它们...

    Android 各种音量的获取

    - **AudioManager**:这是Android提供的用于管理音频流的类,开发者可以通过它来控制和获取系统中的音量。 - **Stream Types**:Android中的音频流被分为不同的类型,每种类型对应不同的应用场景,如通话、铃声、...

    Android 源码 选择&播放&暂停铃声

    在Android系统中,选择、播放和暂停铃声是常见的功能,尤其对于个性化用户界面和多媒体应用至关重要。本文将深入探讨如何在Android应用中实现这些功能,主要涉及以下几个关键知识点: 1. **媒体库访问**: Android...

    获取本地铃声的ardroid代码

    **获取系统默认铃声** 系统默认铃声可以通过查询`MediaStore`数据库来获取。首先,你需要在AndroidManifest.xml中添加读取外部存储的权限: ```xml <uses-permission android:name="android.permission.READ_...

    获取手机铃声

    2. **获取铃声路径**:使用`MediaStore`类来获取系统铃声的URI。以下代码示例展示了如何获取所有系统铃声的URI: ```java ContentResolver resolver = getContentResolver(); Uri uri = MediaStore.Audio.Media....

    android编程获取和设置系统铃声和音量大小的方法

    本文实例讲述了android编程获取和设置系统铃声和音量大小的方法。分享给大家供大家参考,具体如下: 通过程序获取android系统手机的铃声和音量。同样,设置铃声和音量的方法也很简单! 设置音量的方法也很简单,...

    Android来电时停止音乐播放的流程学习

    - 接着,系统会播放来电铃声,并展示来电界面等待用户接听或拒接。 2. **电话处于无声模式或未设置响铃时**: - 用户在来电界面进行接听操作时,系统会立即暂停后台音乐播放。 - 系统随后调整声音模式,并进入...

    android查看与设置来电铃声

    开发者可以通过访问Android的ContentResolver和MediaStore类来获取系统中的所有铃声。 1. **获取系统所有铃声列表**: - 使用`ContentResolver`:通过调用`ContentResolver.query()`方法,传入`MediaStore.Audio....

    android 闹钟提醒并且在锁屏下弹出Dialog对话框并播放铃声和震动

    在Android开发中,创建一个能够实现闹钟提醒并在锁屏状态下弹出Dialog对话框、播放铃声和振动的功能,涉及到多个关键知识点。以下是对这些知识点的详细解释: 1. **AlarmManager**: 这是Android系统服务,用于调度...

    android获取音量分贝值

    在Android系统中,音量通常被分为多个级别,如媒体音量、铃声音量等,但这些级别的值并不直接对应分贝。要获取实际的分贝值,我们需要利用设备的麦克风进行音频输入,并通过计算来转换成分贝。 1. **使用...

    android 6.0 开关机动画铃声添加

    在Android 6.0系统中,用户可以根据个人喜好自定义开关机动画和铃声,以增强设备的个性化体验。下面将详细介绍如何在Android 6.0上添加和更改开机、关机动画以及铃声。 一、添加开机动画 1. 获取动画资源:首先,...

    android手机铃声

    在Android操作系统中,设置手机铃声是一项基本且重要的功能,它允许用户个性化自己的手机通知声音。Android系统提供了多种方式来更改各种类型的铃声,包括来电、短信、闹钟以及通知等。下面我们将深入探讨Android...

    android铃声振动模式

    根据给定的信息,本文将详细解释Android系统中铃声模式和振动模式的调用方法及其相关的API使用方式。 ### Android铃声振动模式 在Android应用开发中,对铃声及振动模式的控制是一项非常实用的功能。它允许开发者...

    Android实现调用震动的方法android滑动解锁震动效果的开启和取消android获取情景模式和铃声 实现震动、铃声提醒

    此外,如果你需要获取当前的系统铃声,可以使用`MediaStore.Audio.Media.DEFAULT_RINGTONE_URI`获取默认铃声的URI,然后使用`MediaPlayer`播放: ```java Uri defaultRingtoneUri = MediaStore.Audio.Media.DEFAULT...

    Android给app自定义铃声

    总结来说,为Android app自定义铃声涉及以下几个关键步骤:获取铃声文件、写入外部存储、扫描媒体库、创建用户界面供选择以及设置系统铃声。理解并实施这些步骤,你的应用就能提供个性化的铃声体验了。

    Android铃声设置软件源代码

    6. **事件监听和广播接收器**:为了实时响应系统铃声、通知音或闹钟的改变,可以注册一个`BroadcastReceiver`,监听`ACTION_RINGTONE_PICKER`、`ACTION_NOTIFICATION_SOUND_CHANGED`和`ACTION_ALARM_ALERT_CHANGED`...

    Android 设置指定联系人的音乐

    在Android系统中,为特定联系人设置个性化的来电铃声是一项实用的功能,它允许用户根据自己的喜好或识别不同联系人的需要来定制不同的铃声。本文将深入探讨如何实现这一功能,涉及的技术点包括Android资源管理、媒体...

    Android 蓝牙 音频焦点(Audio Focus)——卡音,多年安卓开发经验,从实际项目中获取到的经验,对安卓开发者非常有

    这是Android系统为了保证重要音频(如电话铃声)能被清晰听到而设计的一种策略。你的应用需要处理这种场景,通常通过改变音量或使用特殊的低音量模式来实现。 5. **释放音频焦点** 当播放结束或应用不再需要播放...

Global site tag (gtag.js) - Google Analytics