本文書では、Live Streaming Conference のエラー仕様について記載します。
LSConfSDK からは 2 種類のエラーをアプリケーションに返します。
エラーは例外及びエラーイベントで取得でき、エラーの詳細はErrorDetail
型で表現されます。
interface ErrorDetail {
code: Number;
type: string;
error: string;
}
エラーコードが 4桁
のエラーは LSConf で発生したエラーです。
type | 発生箇所 | code | 概要 | 説明 |
---|---|---|---|---|
RequestError | LSConfSDK | 4000 番台 | リクエストエラー | リクエストの結果がエラーになった |
InternalError | LSConfSDK | 5000 番台 | 予期しないエラー | LSConf 開発者に問い合わせが必要なエラー |
エラーコードが 5桁
のエラーは LSConf 内で利用する LSClientSDK で発生したエラーです。
LSClientSDK のエラー仕様については RICOH Live Streaming Client SDK エラー仕様 を参照ください。
関数呼び出し時のエラーは Error
クラスの派生クラスの LSConfError
クラスで取得できます。
利用例
try {
await frame.join(...);
} catch (error) {
if (error instanceof LSConfError) {
console.log(error.detail.code);
console.log(error.detail.type);
console.log(error.detail.error);
console.log(error.toReportString());
if (error.data) {
// エラーデータが含まれるエラー時のみ
console.log(JSON.stringify(error.data));
}
}
}
LSClientSDK で発生したエラーについては、問い合わせ時に toReportString()
の情報が必要となります。
toReportString()
はエラー内容によっては数十 KB になる場合があるため、エラー出力などを行う場合は注意してくださいtoReportString()
を問い合わせ以外の目的で利用することはサポートしませんその他の エラーは error
イベントを listen することで取得できます。
イベントハンドラには LSConfErrorEvent
クラスが通知されます。
エラー詳細は LSConfErrorEvent
クラスの error.detail
メンバに含まれる。
LSClientSDK で発生したエラーについては、問い合わせ時に toReportString()
の情報が必要となります。
toReportString()
はエラー内容によっては数十 KB になる場合があるため、エラー出力などを行う場合は注意してくださいtoReportString()
を問い合わせ以外の目的で利用することはサポートしません利用例
frame.addEventListener('error', (event: LSConfErrorEvent) => {
console.log(event.error.detail.code);
console.log(event.error.detail.type);
console.log(event.error.detail.error);
console.log(event.error.toReportString());
if (event.error.data) {
// エラーデータが含まれるエラー時のみ
console.log(event.error.data);
}
});
以下のエラーはエラーデータを取得することが可能です。
指定したメディアソースにエラーが発生した
{
type: 'error',
error: {
detail: ErrorDetail,
data: {
connectionId: IDString,
url: string
}
}
}
Name | Type | 説明 |
---|---|---|
connectionId | IDString | エラーが発生した connection_id |
url | string | エラーが発生した動画の URL |
接続時のカメラやマイクのデバイス取得に失敗した
{
detail: ErrorDetail,
data: {
reason: string
}
}
Name | Type | 説明 |
---|---|---|
reason | string | getUserMedia() に失敗した時の例外 |
カメラやマイクのデバイス取得時にエラーが発生した
{
detail: ErrorDetail,
data: {
reason: string
}
}
Name | Type | 説明 |
---|---|---|
reason | string | getUserMedia() に失敗した時の例外 |
code | type | error | 説明 |
---|---|---|---|
4010 | RequestError | CreateArgsInvalid | create の引数に誤りがある |
4020 | RequestError | JoinArgsInvalid | join の引数に誤りがある |
4030 | RequestError | SetArgsInvalid | set の引数に誤りがある |
4040 | RequestError | CreateFailed | LSConf への postMessage に失敗した |
4041 | RequestError | CreateTimeout | LSConf の iframe の onload のタイムアウト(15 秒)が発生した |
4050 | RequestError | JoinFailed | LSConf への postMessage に失敗した |
4051 | RequestError | JoinFailedTimeout | LSConf への join のレスポンスがタイムアウト(10 秒) した |
4060 | RequestError | CloseFailed | LSConf への postMessage に失敗した |
4070 | RequestError | CameraMuteFailed | LSConf への postMessage に失敗した |
4080 | RequestError | MicMuteFailed | LSConf への postMessage に失敗した |
4090 | RequestError | ShareRequestFailed | LSConf への postMessage に失敗した |
4100 | RequestError | GetReportFailed | LSConf への postMessage に失敗した |
4101 | RequestError | GetReportError | 対象のクライアントが存在しない (VideoAudio/ScreenShare) |
4110 | RequestError | ChangeLayoutFailed | LSConf への postMessage に失敗した |
4120 | RequestError | GetDeviceFailed | 接続時のカメラやマイクのデバイス取得に失敗した(エラーの詳細は reason を参照) |
4130 | RequestError | GetSubViewsFailed | LSConf への postMessage に失敗した |
4140 | RequestError | GetPoVFailed | LSConf への postMessage に失敗した |
4141 | RequestError | GetPoVError | 対象の SubView が存在しない |
4150 | RequestError | GetPoVArgsInvalid | - getPoV の引数に誤りがある - 360 映像でない SubView に対してリクエストをした |
4160 | RequestError | SetPoVFailed | LSConf への postMessage に失敗した |
4161 | RequestError | SetPoVError | 対象の SubView が存在しない |
4170 | RequestError | SetPoVArgsInvalid | - setPoV の引数に誤りがある - 360 映像でない SubView に対してリクエストをした |
4180 | RequestError | ShareRequestArgsInvalid | onShareRequested 時の返り値のパラメータに誤りがある |
4190 | RequestError | HighlightArgsInvalid | highlight の引数に誤りがある |
4200 | RequestError | HighlightFailed | LSConf への postMessage に失敗した |
4210 | RequestError | HighlightError | 対象の SubView が存在しない |
4220 | RequestError | AddRecordingMemberArgsInvalid | addRecordingMember の引数に誤りがある |
4230 | RequestError | AddRecordingMemberFailed | LSConf への postMessage に失敗した |
4240 | RequestError | AddRecordingMemberError | 対象の SubView や ConnectionID が存在しない |
4250 | RequestError | RemoveRecordingMemberArgsInvalid | removeRecordingMember の引数に誤りがある |
4260 | RequestError | RemoveRecordingMemberFailed | LSConf への postMessage に失敗した |
4270 | RequestError | RemoveRecordingMemberError | 対象の SubView や ConnectionID が存在しない |
4280 | RequestError | SetCameraDeviceFailed | LSConf への postMessage に失敗した |
4290 | RequestError | SetMicDeviceFailed | LSConf への postMessage に失敗した |
4300 | RequestError | GetMediaDevicesFailed | LSConf への postMessage に失敗した |
4310 | RequestError | GetMediaDevicesError | カメラやマイクのデバイス取得時にエラーが発生した(エラーの詳細は reason を参照) |
4320 | RequestError | GetCaptureImageFailed | LSConf への postMessage に失敗した |
4330 | RequestError | GetCaptureImageError | - 対象の SubView が存在しない - キャプチャした画像が真っ黒である |
4331 | RequestError | GetCaptureImageErrorCameraMuted | 対象の SubView がカメラミュート(または映像受信停止)状態だった |
4340 | RequestError | GetCaptureImageArgsInvalid | getCaptureImage の引数に誤りがある |
4350 | RequestError | StartRecordingFailed | - ローカル録画対象の MediaStream が存在しない(Room から退室済み等) - ローカル録画対象の MediaStream が inactive(デバイス変更等) - ローカル録画対象がカメラミュート(または映像受信停止) |
4360 | RequestError | StartReceiveVideoFailed | LSConf への postMessage に失敗した |
4370 | RequestError | StartReceiveVideoError | - 対象の SubView が存在しない - 対象の SubView のソースが静止画 - web-sdk 側でエラーが発生した |
4380 | RequestError | StartReceiveVideoArgsInvalid | startReceiveVideo の引数に誤りがある |
4390 | RequestError | StopReceiveVideoFailed | LSConf への postMessage に失敗した |
4400 | RequestError | StopReceiveVideoError | - 対象の SubView が存在しない - web-sdk 側でエラーが発生した |
4410 | RequestError | StopReceiveVideoArgsInvalid | stopReceiveVideo の引数に誤りがある |
4420 | RequestError | GetLSConfLogFailed | LSConf への postMessage に失敗した |
4440 | RequestError | EnablePointerFailed | LSConf への postMessage に失敗した |
4450 | RequestError | UpdatePointerArgsInvalid | updatePointer の引数に誤りがある |
4480 | RequestError | ModeInvalid | join 時に指定されたモードでは実行できないメソッドを実行した |
4490 | RequestError | ChangeLayoutArgsInvalid | changeLayout の引数に誤りがある |
4500 | RequestError | EnableZoomFailed | LSConf への postMessage に失敗した |
4510 | RequestError | EnableZoomError | 対象の SubView が存在しない |
4520 | RequestError | EnableZoomArgsInvalid | enableZoom の引数に誤りがある |
4530 | RequestError | GetStatsArgsInvalid | getStats の引数に誤りがある |
4540 | RequestError | GetStatsFailed | LSConf への postMessage に失敗した |
4550 | RequestError | GetStatsError | 対象の SubView が存在しない |
4560 | RequestError | SetRotationVectorFailed | LSConf への postMessage に失敗した |
4570 | RequestError | SetRotationVectorError | 対象の SubView が存在しない |
4580 | RequestError | SetRotationVectorArgsInvalid | setRotationVector の引数に誤りがある |
4590 | RequestError | CreateTypeInvalid | create/createPlayer 後に許可されていないメソッドを実行した (Room/Player) |
4600 | RequestError | UpdateStrokeArgsInvalid | updateStroke の引数に誤りがある |
4620 | RequestError | AddVideoSourceFailed | LSConf への postMessage に失敗した |
4640 | RequestError | AddVideoSourceArgsInvalid | addVideoSource の引数に誤りがある |
4650 | RequestError | MediaSourceError | 指定したメディアソースにエラー(指定された URL へのアクセス不可, 再生不可等)が発生した |
4660 | RequestError | AddImageSourceFailed | LSConf への postMessage に失敗した |
4670 | RequestError | AddImageSourceError | - 対象のファイルが画像ファイルではない - 指定された URL にアクセスできない - 指定された URL へのアクセス中に予期せぬエラーが発生 |
4680 | RequestError | AddImageSourceArgsInvalid | addImageSource の引数に誤りがある |
4690 | RequestError | RemoveImageSourceFailed | LSConf への postMessage に失敗した |
4700 | RequestError | RemoveImageSourceError | - 対象の ConnectionID が存在しない - 対象の SubView.mediaType が 'IMAGE_FILE' ではない |
4710 | RequestError | RemoveImageSourceArgsInvalid | removeImageSource の引数に誤りがある |
4720 | RequestError | ChangePlayerStateFailed | LSConf への postMessage に失敗した |
4730 | RequestError | ChangePlayerStateArgsInvalid | changePlayerState の引数に誤りがある |
4740 | RequestError | SetSpeakerVolumeFailed | LSConf への postMessage に失敗した |
4750 | RequestError | SetSpeakerVolumeArgsInvalid | setSpeakerVolume の引数に誤りがある |
4760 | RequestError | SetSeekPositionFailed | LSConf への postMessage に失敗した |
4770 | RequestError | SetSeekPositionArgsInvalid | setSeekPosition の引数に誤りがある |
4780 | RequestError | SetVideoSendBitrateFailed | LSConf への postMessage に失敗した |
4800 | RequestError | SetVideoSendBitrateArgsInvalid | setVideoSendBitrate の引数に誤りがある |
4810 | RequestError | SetVideoSendFramerateFailed | LSConf への postMessage に失敗した |
4820 | RequestError | SetVideoSendFramerateError | setVideoSendFramerate に非対応のブラウザでリクエストした |
4830 | RequestError | SetVideoSendFramerateArgsInvalid | setVideoSendFramerate の引数に誤りがある |
4840 | RequestError | SetVideoAudioConstraintsFailed | LSConf への postMessage に失敗した |
4850 | RequestError | SetVideoAudioConstraintsError | 指定されたパラメータでの getUserMedia に失敗した |
4860 | RequestError | SetVideoAudioConstraintsArgsInvalid | setVideoAudioConstraints の引数に誤りがある |
5000- 5999 | InternalError | InternalErrorXXX | LSConfSDK の内部エラー |
※ エラーコードが 5桁
の LSClientSDK のエラーについては RICOH Live Streaming Client SDK エラー仕様 を参照ください。
この情報は役に立ちましたか?