我正在开发YouTubePlayerFragment集成。 在YouTubePlayerFragment中初始化YouTubePlayer时,它从另一个应用程序获取音频,该特定应用程序停止播放音频,即。 PlayMusic。
由于用户未触摸我应用的YouTube播放器中的播放按钮,因此无法从其他应用获取音频。那么如何避免这样的问题并让另一个应用程序播放音频?
这是我的片段代码,用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)
}
}
})
}
}
答案 0 :(得分:2)
我遇到了同样的问题。 setManageAudioFocus(false)
是您所需要的。
您可以通过执行onInitializationSuccess
在player.setManageAudioFocus(false)
内禁用音频焦点的自动增益,但请记住您需要手动管理音频焦点。您可以阅读有关管理音频焦点here