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

関連する問題