2017-10-24 16 views
3

YouTubePlayerFragment 통합 작업 중입니다. YouTubePlayerFragment에서 YouTubePlayer를 초기화하는 동안 다른 앱에서 오디오를 가져오고 그 특정 앱이 오디오 재생을 중지합니다. 음악을 재생.YouTubePlayerFragment init에서 다른 오디오 앱 일시 중지 방지

사용자가 내 앱의 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) 
        } 
       } 
      }) 
    } 
} 

답변

2

나는 같은 문제에 직면했다. setManageAudioFocus(false)이 필요합니다. player.setManageAudioFocus(false)을 수행하여 onInitializationSuccess에서 오디오 포커스의 자동 게인을 비활성화 할 수 있지만 수동으로 오디오 포커스를 관리해야합니다. 오디오 포커스 관리에 대해 읽을 수 있습니다. here