我正在处理音频呼叫应用并试图播放存储在.mp3
文件夹中的raw
文件。
我希望将此文件作为Ringtone
为此,我使用了mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
当我使用此流时,.mp3
未播放(或可能正在播放我无法听到声音)
如果我没有指定任何AudioStreamType
,那么该文件将作为MUSIC
流播放,我不想要
注意:我的设备中每种类型的音量(铃声,通知,通话,音乐)都设置为已满
我的代码
public MediaPlayer playRingtone(int fileName, boolean loopRingtone) {
mediaPlayer = MediaPlayer.create(mContext, fileName);
if (android.os.Build.VERSION.SDK_INT >= 21) {
AudioAttributes.Builder b = new AudioAttributes.Builder();
b.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE);
b.setContentType(AudioAttributes.CONTENT_TYPE_UNKNOWN);
mediaPlayer.setAudioAttributes(b.build());
} else {
mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
}
mediaPlayer.setLooping(loopRingtone);
mediaPlayer.start();
mediaPlayer.setOnErrorListener(this);
mediaPlayer.setOnCompletionListener(this);
return mediaPlayer;
}