android - 如何使用 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();
但是,当我在播放记录时使用音量按钮更改音量时,它将在通知通道而不是媒体通道中改变音量。我能做些什么?
解决方案
你能准确一点吗?据我所知,您的问题来自您的手机,它确实改变了正确的音量通道。这取决于您的 Android 手机,其中一些会同时更改所有音量通道。
在此处查看 Google 的以下答案
如果您在更改音量和选择常规音量时单击设置轮,您的应用程序将受到影响。
推荐阅读
- ios - 获取发送到另一个类的类和函数的名称
- chisel - 使用chisel实现一个比较大的项目,done 阐述的进度如何查看
- javascript - 为什么 couchDB 在尝试创建视图时给我未授权错误
- ms-wopi - 是否可以为 Office Online Server 指定默认 WOPI 主机?
- lua - 为什么我用 lua 协程实现的生产者-消费者模型无法正常工作?
- javascript - TypeScript:如何将函数添加为参数以及使用 React 函数组件进行道具解构?
- nonlinear-optimization - 为什么这个 GEKKO 脚本没有产生更好的解决方案?
- r - 不读取向量的第二个元素
- php - PHP 中的 JSON API 请求无法正常工作
- apache-nifi - 在 NiFi 中引入 Dynamics 365 Web 服务