我一直在寻找如何在Android中播放铃声/闹钟声音.
我按一个按钮,我想播放铃声/闹铃声.我找不到一个简单,直接的样本.是的,我已经查看了闹钟源代码......但它并不简单,我无法编译它.
我无法做到这一点:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(this, alert);
final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
    player.setAudioStreamType(AudioManager.STREAM_ALARM);
    player.setLooping(true);
    player.prepare();
    player.start();
}
我收到此错误:
04-11 17:15:27.638: ERROR/MediaPlayerService(30): Couldn't open fd for
content://settings/system/ringtone
所以..如果有人知道如何播放默认铃声/闹钟,请告诉我.
我不想上传任何文件.只需播放默认铃声.
我想让一个按钮发出哔哔声,表示它已被按下.我想知道如何使用默认的android beep声音(比如当你调整铃声音量时),而不是导入我自己的mp3音乐文件或使用ToneGenerator?
如何才能播放通知声音(不触发状态栏通知)?我想要通知默认声音,并将其作为通知声音播放.是否可以使用MediaPlayer实现它?
似乎还有其他几个与此主题相关的问题,但我发现的每个问题都有一个解决方案,该解决方案要么不使用通知,要么不适用于最新的 Android 版本。我想使用通知的原因是确保声音的音量与用户的通知音量相对应。
问:如何播放默认通知声音,不向用户显示任何内容,并响应通知音量级别?
一种曾经有效的解决方案是构建一个通知,但保留图标、标题和内容。这适用于较旧的 Android 版本(日志中出现错误E/NotificationService: WARNING: In a future release this will crash the app:),但不再是一个选项。
其他解决方案使用MediaPlayer或RingTone,但这些解决方案具有不同用户音量控制的缺点,这意味着声音级别与显示的通知的声音级别不匹配。换句话说,如果用户将其媒体和铃声音量设置得非常低,则可能听不到这些方法。
一些类似的问题不能解决这个问题:
这会播放正确的声音,但不是以通知音量播放:
Uri uriSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
try {
    RingtoneManager.getRingtone(getApplicationContext(), uriSound).play();
} catch (Exception e) {
    e.printStackTrace();
}
这是一个纯声音通知,但仅在较旧的 Android 版本上有效(与文档相反):
Notification notification = new NotificationCompat.Builder(this, "channel_id")
    .setDefaults(NotificationCompat.DEFAULT_SOUND)
    .build();
谷歌的 Android 消息应用程序就是我所希望的一个例子。当应用程序打开对话线程并收到新消息时,会播放通知声音,并且声音会正确响应通知音量级别。
如何为我的Android应用程序设置通知声音.在我的申请中,通知将在30秒后显示.我想为此警报提供选项,例如静音模式,振动模式以及从设备中选择可用音调的选项.我正在使用首选项屏幕来显示设置菜单.我想设置特定的通知环类型应用程序.有没有办法建立这个..
我有一个开放数小时的应用程序,并使用附加了前台通知的后台服务。每隔一段时间播放一次声音使用:
try {
    Ringtone r = RingtoneManager.getRingtone(context, uri);
    r.play();
} catch (Exception e) {
    e.printStackTrace();
}
声音正在工作,但过了一会儿,声音不再播放了。
没有错误,没有警告,没有崩溃。就是没有声音。
我的用户也在抱怨,所以它看起来不像是特定于设备的问题。
Android Docs没有提及任何关于此的内容。有谁知道这是为什么?