gpt4 book ai didi

android - 避免另一个音频应用在 YouTubePlayerFragment init 上暂停

转载 作者:太空狗 更新时间:2023-10-29 13:06:47 24 4
gpt4 key购买 nike

我正在处理 YouTubePlayerFragment 集成。在 YouTubePlayerFragment 中初始化 YouTubePlayer 时,它从另一个应用程序获取音频,并且该特定应用程序停止播放音频,即。播放音乐。

由于用户没有触摸我应用程序的 youtube 播放器中的播放按钮,因此它不会从其他应用程序获取音频。那么如何避免此类问题并让另一个应用播放音频呢?

这是我的 Fragment 代码,用 Kotlin 编写。

class MyVideoFragment : YouTubePlayerFragment() {
lateinit var mPlayer: YouTubePlayer

companion object {

fun newInstance(url: String): TutorialVideoFragment {

val v = TutorialVideoFragment()
val b = Bundle()
b.putString("url", url)
v.init()
v.arguments = b
return v
}
}


private fun init() {
initialize(DEVELOPER_KEY,
object : YouTubePlayer.OnInitializedListener {

override fun onInitializationSuccess(arg0: YouTubePlayer.Provider,
player: YouTubePlayer, wasRestored: Boolean) {
if (!wasRestored) {
player.cueVideo(arguments.getString("url"))
if (player.isPlaying) {
player.pause();
}

player.setShowFullscreenButton(true)
mPlayer = player
}
}

override fun onInitializationFailure(provider: YouTubePlayer.Provider,
errorReason: YouTubeInitializationResult) {
if (errorReason.isUserRecoverableError) {
// errorReason.getErrorDialog(getActivity(), RECOVERY_DIALOG_REQUEST).show();
} else {
val errorMessage = String.format(
getString(R.string.error_player), errorReason.toString())
toast(errorMessage)
}
}
})
}
}

最佳答案

我遇到了同样的问题。 setManageAudioFocus(false) 是您所需要的。您可以通过执行 player.setManageAudioFocus(false)onInitializationSuccess 中禁用自动获取音频焦点,但请记住您需要手动管理音频焦点。您可以阅读有关管理音频焦点的信息 here

关于android - 避免另一个音频应用在 YouTubePlayerFragment init 上暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46909977/

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