gpt4 book ai didi

android - 如何正确设置MediaPlayer音频流类型

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:55 25 4
gpt4 key购买 nike

我正在尝试创建一种方法来调整每个不同流(媒体、通知、铃声等)的音量设置,并有一种方法来预览每个流的输出音量。我相信我有正确的实现,但是当我设置输出流类型时,没有播放声音。

下面是正确播放用户选择的闹钟声音的代码:

Uri mediaUri=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
MediaPlayer mp=MediaPlayer.create(getApplicationContext(), mediaUri);
//mp.setAudioStreamType(AudioManager.STREAM_ALARM);
mp.start();`

那条注释掉的行是导致我出现问题的原因。我想在不同音频流的音量级别听到警报声,但是当我为 STREAM_ALARM 或任何其他音频流包含该行时,根本没有声音播放。知道这里会发生什么吗?

最佳答案

好的,经过更多测试后我找到了解决方案,它看起来像这样,以防其他人遇到我遇到的同样问题。 list 中需要 MODIFY_AUDIO_SETTINGS 权限才能正常工作。

AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_NORMAL);
MediaPlayer mp=new MediaPlayer();
Uri ringtoneUri=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
try
{
mp.setDataSource(getApplicationContext(), ringtoneUri);
mp.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
mp.prepare();
mp.start();
}
catch(Exception e)
{
//exception caught in the end zone
}

关于android - 如何正确设置MediaPlayer音频流类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3536391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com