首页 > 解决方案 > 如何使用 MediaPlayer 在媒体流中播放声音?

问题描述

我在文件中有一个音频记录,并尝试使用 MediaPlayer 播放它:

player = MediaPlayer.create(applicationContext, Uri.fromFile(record));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    player.setAudioAttributes(
            new AudioAttributes.Builder()
                    .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
                    .setUsage(AudioAttributes.USAGE_MEDIA)
                    .setLegacyStreamType(AudioManager.STREAM_MUSIC)
                    .build()
    );
} else {
    player.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
player.setVolume(1f, 1f);
player.setLooping(false);
player.start();

但是,当我在播放记录时使用音量按钮更改音量时,它将在通知通道而不是媒体通道中改变音量。我能做些什么?

标签: androidandroid-mediaplayer

解决方案


你能准确一点吗?据我所知,您的问题来自您的手机,它确实改变了正确的音量通道。这取决于您的 Android 手机,其中一些会同时更改所有音量通道。

在此处查看 Google 的以下答案

如果您在更改音量和选择常规音量时单击设置轮,您的应用程序将受到影响。


推荐阅读