【发布时间】:2017-12-17 18:21:55
【问题描述】:
我正在创建一种警报类型的应用程序。当我打开特定活动时,我想播放具有设备警报音量级别的自定义声音。 如果设备的媒体音量已关闭且闹钟音量已打开,则应播放我的自定义声音。
我已经尝试了什么:
private void playAlarmSound(String fileName) {
MediaPlayer p = new MediaPlayer();
AudioManager audioManager= (AudioManager) getSystemService(AUDIO_SERVICE);
try {
AssetFileDescriptor afd = this.getAssets().openFd(fileName);
int volumeLevel=audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
p.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
p.setVolume(volumeLevel,volumeLevel);
afd.close();
p.prepare();
} catch (Exception e) {
e.printStackTrace();
}
p.start();
}
但是,当媒体音量打开时,它正在播放声音,但当媒体音量关闭时,它不播放声音。
【问题讨论】:
标签: android android-mediaplayer android-audiomanager