gpt4 book ai didi

android - Android MediaPlayer-如何在STREAM_ALARM中播放?

转载 作者:行者123 更新时间:2023-12-02 23:32:02 29 4
gpt4 key购买 nike

我尝试使用以下代码在应用程序中设置媒体播放器的音频流,但是当我这样做时,我在模拟器中听不到声音。如果我没有为播放器设置流,则音频可以正常播放。我确定我使用了这个错误,但是无法锻炼,有什么帮助吗?

MediaPlayer player = MediaPlayer.create(getApplicationContext(), R.raw.test_audio);

AudioManager audioManager = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM), AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
player.setAudioStreamType(AudioManager.STREAM_ALARM);
player.start();

注意:我已经向 list 添加了MODIFY_AUDIO_SETTINGS权限。

谢谢!

最佳答案

我不知道为什么会发生这种情况,但是下面的代码有效。您应该使用setDataSource()而不是create()设置数据源。

此代码有效:

MediaPlayer mp = new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_ALARM);
mp.setDataSource(this,Uri.parse("android.resource://PACKAGE_NAME/"+R.raw.soundfile));
mp.prepare();
mp.start();

该代码不起作用:
MediaPlayer mp = MediaPlayer.create(this, R.raw.soundfile);
mp.setAudioStreamType(AudioManager.STREAM_ALARM);
mp.prepare();
mp.start();

关于android - Android MediaPlayer-如何在STREAM_ALARM中播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51381352/

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