避免另一个音频应用在 YouTubePlayerFragment init 上暂停
Avoid another audio app pausing on YouTubePlayerFragment init
我正在处理 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
我正在处理 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