リードエラー

ディスクメディアからファイルを読み込む場合、ディスク表面の汚れ等により、ファイルの読み込みに失敗する(リードエラーが発生する)可能性があります。
Atomライブラリでリードエラーを検知する場合、以下のモジュールごとに適切な処理を行う必要があります。

ACF登録時のエラーチェックについて

criAtomEx_RegisterAcfFile 関数でACFファイルを登録する際にリードエラーが発生すると、 criAtomEx_RegisterAcfFile 関数は CRI_FALSE を返します。
リードエラーを検知する必要がある場合、 criAtomEx_RegisterAcfFile 関数の戻り値をチェックし、エラーが発生時には適切なエラー処理(エラーメッセージの表示等)を行ってください。

[備考]
criAtomEx_RegisterAcfConfig 関数や criAtomEx_RegisterAcfData 関数でACF情報の登録を行う場合、エラーチェックの必要はありません。

ACBロード時のエラーチェックについて

criAtomExAcb_LoadAcbFile 関数でACBファイルをロードする際にリードエラーが発生すると、 criAtomExAcb_LoadAcbFile 関数は CRI_NULL を返します。
リードエラーを検知する必要がある場合、 criAtomExAcb_LoadAcbFile 関数の戻り値をチェックし、エラーが発生時には適切なエラー処理(エラーメッセージの表示等)を行ってください。

[備考]
オンメモリのACBデータを criAtomExAcb_LoadAcbData 関数でロードする場合、エラーチェックの必要はありません。

AtomExプレーヤによるファイル再生のエラーチェックについて

音声データのストリーム再生中にリードエラーが発生すると、AtomExプレーヤのステータスがエラー状態に遷移します。
AtomExプレーヤのステータスは criAtomExPlayer_GetStatus 関数で取得可能です。
リードエラーを検知する必要がある場合、AtomExプレーヤのステータスを定期的にチェックし、エラーが発生時には適切なエラー処理(エラーメッセージの表示等)を行ってください。

    // ファイルのセット
    criAtomExPlayer_SetFile(player, NULL, "sample.adx");
    
    // 再生の開始
    criAtomExPlayer_Start(player);
        :
    // メインループ
    for (;;) {
            :
        // ステータスのチェック
        status = criAtomExPlayer_GetStatus(player);
        if (status == CRIATOMEXPLAYER_STATUS_ERROR) {
            // エラー発生時はエラー処理を実行
                :
        }
            :
    }

AWBロード時のエラーチェックについて

TOC情報の同期読み込み時

criAtomAwb_LoadToc 関数でAWBファイルのTOC情報をロードする際にリードエラーが発生すると、 criAtomAwb_LoadToc 関数は CRI_FALSE を返します。
リードエラーを検知する必要がある場合、 criAtomAwb_LoadToc 関数の戻り値をチェックし、エラーが発生時には適切なエラー処理(エラーメッセージの表示等)を行ってください。

TOC情報の非同期読み込み時

criAtomAwb_LoadTocAsync 関数でAWBファイルのTOC情報をロードする際にリードエラーが発生すると、AWBハンドルのステータスがエラー状態に遷移します。
AWBハンドルのステータスは criAtomAwb_GetStatus 関数で取得可能です。
リードエラーを検知する必要がある場合、TOC情報読み込み中はAWBハンドルのステータスを定期的にチェックし、エラーが発生時には適切なエラー処理(エラーメッセージの表示等)を行ってください。

[備考]
オンメモリのACBデータを criAtomExAcb_LoadAcbData 関数でロードする場合、エラーチェックの必要はありません。

Atomプレーヤによるファイル再生のエラーチェックについて

音声データのストリーム再生中にリードエラーが発生すると、Atomプレーヤのステータスがエラー状態に遷移します。
Atomプレーヤのステータスは criAtomPlayer_GetStatus 関数で取得可能です。
リードエラーを検知する必要がある場合、Atomプレーヤのステータスを定期的にチェックし、エラーが発生時には適切なエラー処理(エラーメッセージの表示等)を行ってください。

    // ファイルのセット
    criAtomPlayer_SetFile(player, NULL, "sample.adx");
    
    // 再生の開始
    criAtomPlayer_Start(player);
        :
    // メインループ
    for (;;) {
            :
        // ステータスのチェック
        status = criAtomPlayer_GetStatus(player);
        if (status == CRIATOMPLAYER_STATUS_ERROR) {
            // エラー発生時はエラー処理を実行
                :
        }
            :
    }

CRI File Systemによるエラーチェックについて

CRI File SystemライブラリのAPI( criFsLoader_Load 関数等)を使用してファイルをロードする場合も、ファイルの読み込みに失敗する可能性があります。
CRI File Systemライブラリ使用時のリードエラー検出方法については、CRI File System「ファイルマジックPRO」マニュアル をご参照ください。

Next:アライメント(メモリ/ファイル)

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.