安卓app播放系统铃声,手机调节音量键后即可影响app的播放音量,不必单独调节媒体音量。
protected void startRing() {
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
AudioAttributes attributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
.build();
mMediaPlayer.setAudioAttributes(attributes);
} else {
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
}
long[] pattern = {1000, 2000, 1000, 2000}; // 停止 开启 停止 开启
VibratorUtil.Vibrate(this, pattern, true); //震动100ms
try {
mMediaPlayer.setDataSource(this, uri);
mMediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
RLog.e(TAG, "Ringtone not found : " + uri);
try {
uri = RingtoneManager.getValidRingtoneUri(this);
mMediaPlayer.setDataSource(this, uri);
mMediaPlayer.prepareAsync();
} catch (IOException e1) {
e1.printStackTrace();
RLog.e(TAG, "Ringtone not found: " + uri);
}
}
}