【问题标题】:Chromecast failure callbacks on AndroidAndroid 上的 Chromecast 失败回调
【发布时间】:2021-09-18 01:38:22
【问题描述】:

我很想知道当 chromecast 转换失败时是否有办法获得回调:

  1. 用户开始从我的应用中投射某些内容,在应用后台运行并开始从其他应用(如 YouTube/Spotify)投射不同的资产
  2. 当断电并且 chromecast 与 wifi 断开连接时。
  3. chromecast 和路由器的连接问题

我目前正在使用带有 setResultCallback 的 RemoteMediaClient,但是当出现其中一种故障时,永远不会调用 setResultCallback。

【问题讨论】:

    标签: android kotlin chromecast


    【解决方案1】:

    有一个会话管理监听器,你可以使用它

    val mSessionManagerListener = object : SessionManagerListener<CastSession> {
                override fun onSessionEnded(session: CastSession, error: Int) {
                    onApplicationDisconnected()
                }
    
                override fun onSessionResumed(session: CastSession, wasSuspended: Boolean) {
                    onApplicationConnected(session)
                }
    
                override fun onSessionResumeFailed(session: CastSession, error: Int) {
                    onApplicationDisconnected()
                    showToast("ResumeFailed $error")
                }
    
                override fun onSessionStarted(session: CastSession, sessionId: String) {
                    onApplicationConnected(session)
                }
    
                override fun onSessionStartFailed(session: CastSession, error: Int) {
                    onApplicationDisconnected()
                    showToast("Error $error")
                }
    
                override fun onSessionStarting(session: CastSession) {}
                override fun onSessionEnding(session: CastSession) {}
                override fun onSessionResuming(session: CastSession, sessionId: String) {}
                override fun onSessionSuspended(session: CastSession, reason: Int) {}
                private fun onApplicationConnected(castSession: CastSession) {
                    mCastSession = castSession
    
                   
                }
    
                private fun onApplicationDisconnected() {
                   
                }
            }
    
    
            mCastContext?.sessionManager?.addSessionManagerListener(
                mSessionManagerListener!!,
                CastSession::class.java
            )
    

    【讨论】:

      猜你喜欢
      • 2011-01-13
      • 2018-10-18
      • 2012-08-28
      • 2016-08-16
      • 2013-07-28
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多