概要
エラーコードの名前には ErrorCode が含まれます。例:
kBCOVPlaybackSessionErrorCodeLoadFailed
イベントの名前には Event が含まれます。例:
kBCOVPlaybackSessionLifecycleEventFail
再生エラー
再生エラーはイベントを通じて処理されます。通常、BCOVPlaybackController のライフサイクルイベントのデリゲートコールバックで受け取ります:
- (void)playbackController:(id<BCOVPlaybackController>)controller
playbackSession:(id<BCOVPlaybackSession>)session
didReceiveLifecycleEvent:(BCOVPlaybackSessionLifecycleEvent *)lifecycleEvent;
詳細情報を取得するには、次の操作を行います。
kBCOVPlaybackSessionLifecycleEventFail、kBCOVPlaybackSessionLifecycleEventError、kBCOVPlaybackSessionLifecycleEventFailedToPlayToEndTimeなどのエラーイベントを受け取ったら、イベントのproperties辞書のkBCOVPlaybackSessionEventKeyError(@"error")キーを確認します。kBCOVPlaybackSessionLifecycleEventResumeFailにはエラーが含まれません。問題の情報を持つ
NSErrorオブジェクトを取得できます。各
NSErrorには、次のようなエラードメインがあります。NSCocoaErrorDomainkBCOVPlaybackSessionErrorDomain
各エラードメインには、次のようなエラーコードと説明が関連付けられています。
kBCOVPlaybackSessionErrorCodeLoadFailedkBCOVPlaybackSessionErrorCodeNoPlayableSource
一部のエラーには、原因となったエラーも含まれます。エラーの
userInfo辞書からNSUnderlyingErrorKeyキーで取得できます。通常は、詳細情報を持つシステムのNSErrorです。SDK のすべてのエラードメインを調べるには、ヘッダーファイルで次を検索します。
ErrorDomainErrorDomainを参照するヘッダー:BrightcovePlayerSDK-Swift.h(FairPlay、オフライン動画マネージャー、Playback Service の API)BCOVPlaybackSessionConstants.h(再生セッションのイベントとエラー)
すべてのエラーコードを調べるには、各
ErrorDomainで次を検索します。ErrorCodeたとえば、
BCOVPlaybackSessionConstants.hのkBCOVPlaybackSessionErrorDomainには、次のエラーコードがあります。kBCOVPlaybackSessionErrorCodeLoadFailedkBCOVPlaybackSessionErrorCodeFailedToPlayToEndkBCOVPlaybackSessionErrorCodeNoPlayableSource
他のドメインでは、エラーの返し方が異なる場合があります。たとえば、
BCOVPlaybackServiceは、オンラインカタログへの動画リクエストでネットワークエラーが発生すると、完了ブロックにエラーを返します。エラードメインはBCOVPlaybackService.ErrorDomainです。
再生エラーの一覧
以下は、iOS 用 Native SDK で発生する可能性のある再生エラーです。基盤となるフレームワークからエラーが渡されることもあります。
| ヘッダー | エラー | 説明 |
|---|---|---|
BrightcovePlayerSDK-Swift.h | BCOVFPSConstants.ErrorDomain | FairPlay 関連のエラードメイン。 |
| BCOVFPSErrorCodeStreamingContentKeyRequest | コンテンツキーのリクエストでエラーが発生しました。 | |
| BCOVFPSErrorCodeApplicationCertificateRequest | アプリケーション証明書のリクエストでエラーが発生しました。 | |
BrightcovePlayerSDK-Swift.h | BCOVFPSBrightcoveAuthProxy.ErrorDomain | FairPlay Auth Proxy 関連のエラードメイン。 |
| BCOVFPSAuthProxyErrorCodeApplicationCertificateRequestFailed | アプリケーション証明書のリクエストが失敗しました。 | |
| BCOVFPSAuthProxyErrorCodeContentKeyRequestFailed | キーのリクエストが失敗しました。 | |
| BCOVFPSAuthProxyErrorCodeContentKeyGenerationFailed | キーリクエストの生成が失敗しました。 | |
BrightcovePlayerSDK-Swift.h | BCOVPlaybackServiceErrorCodeNoError | エラーはありません。 |
| BCOVPlaybackServiceErrorCodeConnectionError | Playback API への接続でエラーが発生しました。実際の接続エラーは error.userInfo[NSUnderlyingErrorKey] で確認します。 | |
| BCOVPlaybackServiceErrorCodeJSONDeserializationError | レスポンスの JSON 解析でエラーが発生しました。受信データがある場合、元の NSData は BCOVPlaybackService.ErrorKeyRawResponseData キーで userInfo に格納されます。JSON 解析エラーの詳細は error.userInfo[NSUnderlyingErrorKey] で確認します。 | |
| BCOVPlaybackServiceErrorCodeAPIError | API がエラーを返しました。返されたエラーの NSArray は error.userInfo[BCOVPlaybackService.ErrorKeyAPIErrors]、HTTP ステータスコードは BCOVPlaybackService.ErrorKeyAPIHTTPStatusCode キーで確認します。 | |
| BCOVPlaybackService.ErrorDomain | BCOVPlaybackService のエラードメイン。 | |
| BCOVPlaybackService.ErrorKeyRawResponseData | ドメインが BCOVPlaybackService.ErrorDomain、コードが BCOVPlaybackServiceErrorCodeJSONDeserializationError の NSError.userInfo キーです。元のレスポンスデータを取得できますが、格納されない場合もあります。 | |
| BCOVPlaybackService.ErrorKeyAPIErrors | ドメインが BCOVPlaybackService.ErrorDomain、コードが BCOVPlaybackServiceErrorCodeAPIError の NSError.userInfo キーです。Playback API が返したエラーの NSArray を取得します。 | |
| BCOVPlaybackService.ErrorKeyAPIHTTPStatusCode | ドメインが BCOVPlaybackService.ErrorDomain、コードが BCOVPlaybackServiceErrorCodeAPIError の NSError.userInfo キーです。API リクエストの HTTP ステータスコードを取得します。 | |
BCOVPlaybackSessionConstants.h | kBCOVPlaybackSessionLifecycleEventFail | 動画の読み込みに失敗しました。原因となったエラーは、イベントの properties の kBCOVPlaybackSessionEventKeyError キーで取得できます。 |
| kBCOVPlaybackSessionLifecycleEventFailedToPlayToEndTime | ネットワークエラーなどにより再生中に障害が発生し、復旧できませんでした。AVFoundation がエラーを報告した場合、原因となったエラーはイベントの properties の kBCOVPlaybackSessionEventKeyError キーで取得できます。ネットワーク復旧後、[BCOVPlaybackController resumeVideoAtTime:withAutoPlay:] で復旧できる場合があります。 | |
| kBCOVPlaybackSessionLifecycleEventResumeFail | resumeVideoAtTime:withAutoPlay: の呼び出し後、動画を再読み込みできませんでした。このイベントにはエラーが含まれません。 | |
| kBCOVPlaybackSessionLifecycleEventError | 一般的なエラーが発生しました。たとえば、モバイルデータ通信での再生が許可されていない場合、FairPlay のエラー、ジェネリック ストリーム同時視聴制限のエラーなどです。原因となったエラーが、イベントの properties の kBCOVPlaybackSessionEventKeyError キーに含まれる場合があります。 | |
| kBCOVPlaybackSessionLifecycleEventThumbnailAssetFailedToLoad | シーク用サムネイルアセットの読み込みに失敗しました。原因となったエラーが、イベントの properties の kBCOVPlaybackSessionEventKeyError キーに含まれる場合があります。 | |
| kBCOVPlaybackSessionEventKeyError | イベントの properties に含まれるエラーのキー。 | |
| kBCOVPlaybackSessionErrorDomain | SDK のエラードメイン。 | |
| kBCOVPlaybackSessionErrorCodeLoadFailed | 動画の読み込みに失敗しました。 | |
| kBCOVPlaybackSessionErrorCodeFailedToPlayToEnd | ネットワークエラーなどにより再生中に障害が発生し、復旧できませんでした。 | |
| kBCOVPlaybackSessionErrorCodeNoPlayableSource | この動画に再生可能なソースがありません。 | |
| kBCOVPlaybackSessionErrorCodeWifiUnavailable | Wi-Fi ネットワークが利用できず、allowsCellularPlayback が無効になっています。 |