概覽
錯誤代碼有術語ErrorCode
在名字裡。例如:
kBCOVPlaybackSessionErrorCodeLoadFailed
事件有詞Event
在名字裡。例如:
kBCOVPlaybackSessionLifecycleEventFail
播放錯誤
播放錯誤是通過事件處理的。一般來說,您會在使用生命週期事件委託回調時收到播放錯誤BCOVPlaybackController
:
- (void)playbackSession:(id<BCOVPlaybackSession>)session
didReceiveLifecycleEvent:(BCOVPlaybackSessionLifecycleEvent *)lifecycleEvent
要獲取更多信息,請執行以下操作:
-
如果您收到類似的錯誤事件
kBCOVPlaybackSessionLifecycleEventFail
或者kBCOVPlaybackSessionLifecycleEventResumeFail
, 檢查事件的properties
詞典@"error"
鑰匙。這將提供一個
NSError
帶有問題信息的對象。 -
每個
NSError
將有一個錯誤域,如下所示:NSCocoaErrorDomain
kBCOVPlaybackSessionErrorDomain
每個錯誤域將具有關聯的錯誤代碼和錯誤描述,如下所示:
kBCOVPlaybackSessionErrorCodeLoadFailed
kBCOVPlaybackSessionErrorCodeNoPlayableSource
-
一些錯誤也會有一個潛在的錯誤,可以從錯誤對象的
userInfo
字典與NSUnderlyingErrorKey
鑰匙。這通常是一個系統NSError
可以提供更多信息。 -
要在SDK中找到所有錯誤域,請在標題中搜索以下內容:
ErrorDomain
這是一個標題列表
ErrorDomain
參考:BCOVFPSAuthorizationProxy.h
BCOVFPSBrightcoveAuthProxy.h
BCOVOfflineVideoManager.h
BCOVPlaybackService.h
BCOVPlaybackSession.h
-
要查找所有錯誤代碼,請搜索每個
ErrorDomain
對於以下內容:ErrorCode
例如,在
BCOVPlaybackSession.h
, 你會看到的kBCOVPlaybackSessionErrorDomain
錯誤代碼如下:kBCOVPlaybackSessionErrorCodeLoadFailed
kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd
kBCOVPlaybackSessionErrorCodeNoPlayableSource
-
其他域可能會以不同的方式返回錯誤。例如,
BCOVPlaybackService
如果從在線目錄請求視頻時出現網絡錯誤,對象將在其完成塊中返回錯誤。它使用錯誤域kBCOVPlaybackServiceErrorDomain
.
回放錯誤表
以下是適用於 iOS 的 Native SDK 可能出現的播放錯誤列表。請注意,錯誤也可以從底層框架傳遞。
標頭 | 錯誤 | 描述 |
---|---|---|
BCOVFPSAuthorizationProxy.h |
kBCOVFPSErrorDomain | FairPlay 相關錯誤的錯誤域 |
kBCOVFPSErrorCodeStreamingContentKeyRequest | 請求內容密鑰時出錯 | |
kBCOVFPSErrorCodeApplicationCertificateRequest | 請求應用程序證書時出錯 | |
BCOVFPSBrightcoveAuthProxy.h |
kBCOVFPSAuthProxyErrorDomain | FairPlay Auth Proxy 相關錯誤的錯誤域。 |
kBCOVFPSAuthProxyErrorCodeApplicationCertificateRequestFailed | 申請證書申請失敗 | |
kBCOVFPSAuthProxyErrorCodeContentKeyRequestFailed | 密鑰請求失敗 | |
kBCOVFPSAuthProxyErrorCodeContentKeyGenerationFailed | 密鑰請求生成失敗 | |
BCOVPlaybackService.h |
BCOVPlaybackServiceErrorNoError | 沒有錯誤。 |
BCOVPlaybackServiceErrorCodeConnectionError | 錯誤代碼,表示連接到 Playback API 時出錯。檢查 error.userInfo 鍵 NSUnderlyingErrorKey 以了解實際的連接錯誤。 |
|
BCOVPlaybackServiceErrorCodeJSONDeserializationError | 指示將響應解析為 JSON 時出錯的錯誤代碼。如果請求返回任何數據,原始 NSData 將通過鍵 kBCOVPlaybackServiceErrorKeyRawResponseData 包含在 userInfo 中。檢查 error.userInfo 鍵 NSUnderlyingErrorKey 以了解實際的 JSON 反序列化錯誤。 |
|
BCOVPlaybackServiceErrorCodeAPIError | 指示 API 返回錯誤的錯誤代碼。檢查 error.userInfo 鍵 kBCOVPlaybackServiceErrorKeyAPIErrors 以獲取 API 返回的錯誤的 NSArray 和鍵 kBCOVPlaybackServiceErrorKeyAPIHTTPStatusCode 以查找返回的狀態代碼。 |
|
kBCOVPlaybackServiceErrorDomain | BCOVPlaybackService 的錯誤域。 |
|
kBCOVPlaybackServiceErrorKeyRawResponseData | NSError.userInfo 的鍵,用於域為 kBCOVPlaybackServiceErrorDomain 和 errorCode BCOVPlaybackServiceErrorCodeJSONDeserializationError 的錯誤。這是原始響應數據。這可能不存在於 error.userInfo 中。 |
|
kBCOVPlaybackServiceErrorKeyAPIErrors | NSError.userInfo 的鍵,用於域為 kBCOVPlaybackServiceErrorDomain 和 errorCode BCOVPlaybackServiceErrorCodeAPIError 的錯誤。這是 Playback API 返回的錯誤的 NSArray。 |
|
kBCOVPlaybackServiceErrorKeyAPIHTTPStatusCode | NSError.userInfo 的鍵,用於域為 kBCOVPlaybackServiceErrorDomain 和 errorCode BCOVPlaybackServiceErrorCodeAPIError 的錯誤。這是 API 請求返回的 HTTP 狀態代碼。 |
|
BCOVPlaybackSession.h |
kBCOVPlaybackSessionEventKeyError | 視頻加載失敗。事件屬性將包含底層錯誤。 |
kBCOVPlaybackSessionLifecycleEventFailedToPlayToEndTime | 視頻在播放過程中失敗並且無法恢復,可能是由於網絡錯誤。事件屬性將包含由 通過使用 |
|
kBCOVPlaybackSessionEventKeyError | 發生一般性錯誤。事件屬性可能包含底層 | |
kBCOVPlaybackSessionLifecycleEventThumbnailAssetFailedToLoad | 縮略圖搜索資產加載失敗。事件屬性可能包含由 kBCOVPlaybackSessionEventKeyError 鍵控的基礎錯誤。 |
|
kBCOVPlaybackSessionEventKeyError | 事件屬性中錯誤的鍵。 | |
kBCOVPlaybackSessionErrorDomain | SDK 的錯誤域。 | |
kBCOVPlaybackSessionErrorCodeLoadFailed | 視頻加載失敗。 | |
kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd | 視頻在播放過程中失敗並且無法恢復,可能是由於網絡錯誤。 | |
kBCOVPlaybackSessionErrorCodeNoPlayableSource | 此視頻沒有可用的可播放源。 | |
kBCOVPlaybackSessionErrorCodeWifi不可用 | 沒有可用的 WiFi 網絡,allowsCellularPlayback 被禁用。 |