默认“哔哔”闹钟铃声

Posted

技术标签:

【中文标题】默认“哔哔”闹钟铃声【英文标题】:Default "beep beep" alarm ringtone 【发布时间】:2015-06-10 14:17:05 【问题描述】:

Andrid 手机上是否有一些默认的、可以安全使用的“哔哔”风格的铃声?

我有以下代码

final Ringtone alarm = RingtoneManager.getRingtone(getActivity(), RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM));
alarm.setStreamType(AudioManager.STREAM_ALARM);
alarm.play();

它会播放早上叫醒我的闹钟铃声,这是一些舒缓的音乐。但我需要一些更警觉的东西。

当然,我可以将一些声音文件打包到 apk,但我更喜欢使用设备上已有的一些声音。

【问题讨论】:

【参考方案1】:

在这里查看我的答案:

How do I access android's default beep sound?

try 
    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
    r.play();
 catch (Exception e) 
    e.printStackTrace();


这是一种列出设备中所有通知声音的方法

public Map<String, String> getNotifications() 
    RingtoneManager manager = new RingtoneManager(this);
    manager.setType(RingtoneManager.TYPE_NOTIFICATION);
    Cursor cursor = manager.getCursor();

    Map<String, Uri> list = new HashMap<>();
    while (cursor.moveToNext()) 
        String notificationTitle = cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX);
        Uri notificationUri = manager.getRingtoneUri(cursor.getPosition());

        list.put(notificationTitle, notificationUri);
    

    return list;

找到“Helium”铃声后,使用它的 Uri 播放它:

 Uri heliumUri = findHeliumUri();
 Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
 r.play();

【讨论】:

嗯,通知可能会比警报更哔声,但它仍然会播放我的默认通知声音。我想要的是玩例如。 “氦气”(我在大多数设备中发现的声音之一),如果没有,播放用户的默认通知声音。

以上是关于默认“哔哔”闹钟铃声的主要内容,如果未能解决你的问题,请参考以下文章

通知操作按钮不会停止闹钟铃声

想用winform制作一个闹钟,实现将自己下载音乐作为闹钟铃声

如何在 Cordova 中使用平台预装的铃声?

如何以编程方式获取 iPhone 的铃声列表

android-铃声的设置与播放

Android RingtoneManager铃声管理