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

问题描述 投票:2回答:1

我正在尝试为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();
}

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

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

android audio alarmmanager alarm ringtonemanager
1个回答
2
投票

有点旧的线程,但也许这将有助于将来的某个人。 我现在正在制作一个闹钟,我这样做:

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 (...) {
    ...
}

它对我来说很好。

© www.soinside.com 2019 - 2024. All rights reserved.