具有setAudioStreamType(AudioManager.STREAM_环)的MediaPlayer未播放android
我正在开发一个音频通话应用程序,并尝试播放存储在具有setAudioStreamType(AudioManager.STREAM_环)的MediaPlayer未播放android,android,android-mediaplayer,android-audiomanager,ringtone,Android,Android Mediaplayer,Android Audiomanager,Ringtone,我正在开发一个音频通话应用程序,并尝试播放存储在raw文件夹中的.mp3文件 我想将此文件作为铃声播放 为此,我使用了mediaPlayer.setAudioStreamType(AudioManager.STREAM_环) 当我使用此流时,.mp3不会播放(或者可能正在播放,我听不到声音) 如果我没有指定任何音频流类型,则该文件将作为音乐流播放,这是我不想要的 注意:在我的设备中,每种类型(铃声、通知、呼叫、音乐)的音量都设置为满 我的代码 public MediaPlayer playRin
raw
文件夹中的.mp3
文件
我想将此文件作为铃声播放
为此,我使用了mediaPlayer.setAudioStreamType(AudioManager.STREAM_环)代码>
当我使用此流时,.mp3
不会播放(或者可能正在播放,我听不到声音)
如果我没有指定任何音频流类型
,则该文件将作为音乐
流播放,这是我不想要的
注意:在我的设备中,每种类型(铃声、通知、呼叫、音乐)的音量都设置为满
我的代码
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;
}
你在用什么设备?我测试过的大多数设备都很好,但我的Note8和Sony都有问题。