Android 避免另一个音频应用程序在YouTubePlayerFragment init上暂停
我正在进行YouTubePlayerFragment集成。 在YouTubePlayerFragment中初始化YouTubePlayer时,它从另一个应用程序获取音频,并且该特定应用程序停止播放音频,即播放音乐 由于用户并没有在我的应用程序的youtube播放器中点击播放按钮,所以它不会从另一个应用程序中获取音频。那么,如何避免这样的问题,让另一个应用程序播放音频呢 这是我用Kotlin编写的片段代码Android 避免另一个音频应用程序在YouTubePlayerFragment init上暂停,android,kotlin,android-youtube-api,android-audiomanager,Android,Kotlin,Android Youtube Api,Android Audiomanager,我正在进行YouTubePlayerFragment集成。 在YouTubePlayerFragment中初始化YouTubePlayer时,它从另一个应用程序获取音频,并且该特定应用程序停止播放音频,即播放音乐 由于用户并没有在我的应用程序的youtube播放器中点击播放按钮,所以它不会从另一个应用程序中获取音频。那么,如何避免这样的问题,让另一个应用程序播放音频呢 这是我用Kotlin编写的片段代码 class MyVideoFragment : YouTubePlayerFragment(
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
中的音频焦点自动增益功能,但请记住,您需要手动管理音频焦点。您可以阅读有关管理音频焦点的内容