Android闹钟声音使用闹钟音量设置?

标签 android audio alarmmanager alarm ringtonemanager

我正在尝试为 Android 构建自定义类型的闹钟,并且我设置了一个设置页面以允许用户选择他们想要使用的闹钟声音。选择后,它会被放入 SharedPreferences 中,非常简单。

我遇到的问题是如何在使用 RingtoneManager.TYPE_ALARM 时播放他们选择的闹钟,以便音量基于系统闹钟声音而不是系统通知音量。

我尝试了多种方法甚至让它使用闹钟音量,但似乎没有任何效果。

1.

Uri currentRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
currentRingtone = RingtoneManager.getRingtone(context, currentRingtoneUri);
currentRingtone.play();

2.

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String syncConnPref = sharedPref.getString("alarm_new_alarm_sound", null);

if (syncConnPref != null) {
  RingtoneManager.getRingtone(this, Uri.parse(syncConnPref)).play();
}

我似乎找不到任何其他直接播放实际闹钟音量声音的方法。网上的一切看起来都只是播放铃声。

如果有人对使用闹钟音量有任何见解,我将非常感激。

最佳答案

有点旧的线程,但也许这会对将来的某人有所帮助。
我目前正在自己​​制作闹钟,我正在这样做:

int audioFile = prefs.getInt("audioFile", R.raw.yourFile);
MediaPlayer mp = new MediaPlayer();

try {
    mp.reset();

    mp.setDataSource(PlayerActivity.this,    
    Uri.parse("android.resource://your.package.here/" + audioFile));

    mp.setAudioStreamType(STREAM_ALARM);
    mp.setLooping(true);
    mp.prepare();
    mp.start();
}

catch (...) {
    ...
}

它对我来说工作得很好。

关于Android闹钟声音使用闹钟音量设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44080918/

相关文章:

java - 增强现实 QualComms Vuforia

java - 如何以编程方式创建 CardView

java - 从颜色选择器获取错误的颜色值

android - AlarmManager 与 Handler.postDelayed

android - 我如何在android中设置多个闹钟

java - AlarmManager 在 Oreo 中安排长时间任务的替代方案是什么?

java - 在 OCR 之前检查图像质量

flash - 是否可以在 AS3 中组合 Sound 对象?

c# - 如何以编程方式播放 16 位 PCM 数组

xcode - 在 Xcode7 中播放音频