Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 避免另一个音频应用程序在YouTubePlayerFragment init上暂停_Android_Kotlin_Android Youtube Api_Android Audiomanager - Fatal编程技术网

Android 避免另一个音频应用程序在YouTubePlayerFragment init上暂停

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(

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

由于用户并没有在我的应用程序的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)
                    }
                }
            })
    }
}

我也面临同样的问题
setManageAudioFocus(false)
就是您所需要的。 您可以通过执行
player.setManageAudioFocus(false)
来禁用
onInitializationSuccess
中的音频焦点自动增益功能,但请记住,您需要手动管理音频焦点。您可以阅读有关管理音频焦点的内容