android - 如何通过音频焦点处理使 YouTube 视频静音并且不中断音乐播放?
问题描述
我正在尝试使用android-youtube-player
库(https://github.com/PierfrancescoSoffritti/android-youtube-player)播放 YouTube 视频,我想在没有耳机打开或播放用户音乐时静音。问题是,即使我用youTubePlayer.setVolume(0)
in将视频静音YouTubePlayer.onStateChange
,当视频开始播放时音乐也会停止。如果我继续播放音乐,视频就会停止。标准的 Google YouTube 库根本无法解决这个用例。
我试过这段代码,但这没有帮助。你有什么建议可以解决这个问题吗?
override fun onStateChange(youTubePlayer: YouTubePlayer, state: PlayerConstants.PlayerState) {
if (state == PlayerConstants.PlayerState.BUFFERING) {
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
if (!Utility.isHeadsetConnected(context) || audioManager.isMusicActive) {
audioManager.requestAudioFocus (object : AudioManager.OnAudioFocusChangeListener {
override fun onAudioFocusChange(focusChange: Int) {
if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
audioManager.abandonAudioFocus(this)
}
}
}, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN)
youTubePlayer.setVolume(0)
}
}
}
解决方案
推荐阅读
- shiny - 在 rMarkdown 中上传文件并调用文件生成统计摘要
- sql - 加入两个表,然后根据数量拆分行
- sql - 在子查询结果后 52 周检索
- powershell - Powershell 类:属性与参数命名
- r - 在循环中将data.frame行绑定到另一个data.frame的有效方法?
- mocha.js - mocha.opts 已弃用 - 如何迁移到 .mocharc
- php - html2pdf 类,转换并重定向到页面不起作用
- react-native - 在 Detox 测试中模拟节点模块
- autocad - 如何使用 AutoLISP 检查应用程序是否正在运行
- flutter - 如何通过 API 下载 Flutter 中的图像?