English
PROGRAMMER'S GUIDECD通信I/F(CDパート)
戻る進む
CD通信インタフェースユーザーズマニュアル(CDパート)

関数詳細-2


8.2.2 CDドライブ


 〈OPEN〉,〈NODISC〉状態におけるトレイの開閉は、 CDブロックの初期化(CDC_CdInit)を参照してください。



Title

関数仕様

Function

CD再生

Function Name[SR]

CDC_CdPlay

No

2.1

 書 式
Sint32 CDC_CdPlay(CdcPly *ply)
 入 力
ply:再生パラメータ
 出 力
なし
 関数値
エラーコードを返します。
 機 能
指定した再生パラメータに従って、CDを再生します。
CD-DA領域では音楽を再生し、CD-ROM領域ではセクタデータをリードします。
CD-ROMとCD-DAの境界にあるギャップ/ポーズ領域は再生しないでください。

 注 意
CD-DAを再生して実際に音声を出力するには、別途SCSPの設定が必要です。設定方法についてはSCSPのマニュアルを参照してください。

 備 考
CD-DAの再生では、曲の頭切れを防ぐため開始位置の4フレーム前でミュート解除しています。

  例 
 (1)フレームアドレス指定
Sint32 ret;
CdcPly plywk, *ply=&plywk;          /* 再生パラメータ変数の定義 */
CDC_PLY_STYPE(ply)=CDC_PTYPE_FAD;
CDC_PLY_SFAD(ply) =fad;             /* 開始フレームアドレス   */
CDC_PLY_ETYPE(ply)=CDC_PTYPE_FAD;
CDC_PLY_EFAS(ply) =fasnum;          /* フレームアドレスセクタ数 */
CDC_PLY_PMODE(ply)=pmode;           /* 再生モード        */
ret = CDC_CdPlay(ply);              /* 再生開始         */

 (2)トラック/インデックス指定
CdcPly plywk, *ply=&plywk;
CDC_PLY_STYPE(ply)=CDC_PTYPE_TNO;
CDC_PLY_STNO(ply) =tno1;            /* 開始トラック番号   */
CDC_PLY_SIDX(ply) =x1;              /* 開始インデックス番号 */
CDC_PLY_ETYPE(ply)=CDC_PTYPE_TNO;
CDC_PLY_ETNO(ply) =tno2;            /* 終了トラック番号   */
CDC_PLY_EIDX(ply) =x2;              /* 終了インデックス番号 */
CDC_PLY_PMODE(ply)=pmode;           /* 再生モード      */
ret = CDC_CdPlay(ply);

 (3)省略値の指定
CdcPly plywk, *ply=&plywk;
CDC_PLY_STYPE(ply)=CDC_PTYPE_DFL;   /* 開始位置はディスク先頭        */
CDC_PLY_ETYPE(ply)=CDC_PTYPE_DFL;   /* 終了位置はディスク最後        */
CDC_PLY_PMODE(ply)=CDC_PM_DFL;      /* リピートなし、ピックアップを移動する */
ret = CDC_CdPlay(ply);

 (4)CD再生の再開(未変更の指定:現在位置から再生)……ポーズ解除
CdcPly plywk, *ply=&plywk;
CDC_PLY_STYPE(ply)=CDC_PTYPE_NOCHG;
CDC_PLY_ETYPE(ply)=CDC_PTYPE_NOCHG;
CDC_PLY_PMODE(ply)=CDC_PM_NOCHG;
ret = CDC_CdPlay(ply);




Title

関数仕様

Function

再生位置のシーク

Function Name[SR]

CDC_CdSeek

No

2.2

 書 式
Sint32 CDC_CdSeek(CdcPos *pos)
 入 力
pos:位置パラメータ
 出 力
なし
 関数値
エラーコードを返します。
 機 能
指定した位置パラメータに従って、再生位置(ピックアップ)を移動(シーク)します。

 注 意
 CD再生の終了時にストップコマンドを使うと、再度CDをアクセスする時に遅くなります。CDへのアクセスを続ける限り、通常はポーズコマンドを使ってください。

  例
 (1)フレームアドレス指定
Sint32 ret;
CdcPos poswk, *pos=&poswk;            /* 位置パラメータ変数の定義 */
CDC_POS_PTYPE(pos)=CDC_PTYPE_FAD;
CDC_POS_FAD(pos) =fad;                /* フレームアドレス     */
ret = CDC_CdSeek(pos);                /* シーク開始        */

 (2)トラック/インデックス指定
CdcPos poswk, *pos= &poswk;
CDC_POS_PTYPE(pos)=CDC_PTYPE_TNO;
CDC_POS_TNO(pos) =tno;                /* トラック番号   */
CDC_POS_IDX(pos) =x;                  /* インデックス番号 */
ret = CDC_CdSeek(pos);

 (3)CD再生の中止(省略値の指定:ホーム位置へシーク)……ストップ
CdcPos poswk, *pos=&poswk;
CDC_POS_PTYPE(pos)=CDC_PTYPE_DFL;
ret = CDC_CdSeek(pos);

 (4)CD再生の一時停止(未変更の指定:現在位置へシーク)……ポーズ
CdcPos poswk, *pos=&poswk;
CDC_POS_PTYPE(pos)=CDC_PTYPE_NOCHG;
ret = CDC_CdSeek(pos);




Title

関数仕様

Function

スキャン再生

Function Name[SR]

CDC_CdScan

No

2.3

 書 式
Sint32 CDC_CdScan(Sint32 scandir)
 入 力
scandir :スキャン方向
 出 力
なし
 関数値
エラーコードを返します。
 機 能
CDをスキャン再生します。 CDドライブコマンド(CD再生、シークなど)が発行されるまでスキャンを続けます。再生範囲外に達するとスキャンは解除されポーズになります。その時のポーズ位置は不定です。

 (1)スキャン方向
定数名
説 明
CDC_SCAN_FWD
早送り再生(順方向スキャン)
CDC_SCAN_RVS
早戻し再生(逆方向スキャン)

 (2)音声の出力
〈PLAY〉状態からスキャン再生すると、CD-DA領域では−12dBの音出しをします。
CD-ROM領域や〈PAUSE〉状態でスキャン再生すると、音声は消音されます。

 備 考
CD-ROM領域をスキャン再生した場合、セクタデータはリードされません。 再生範囲境界付近でスキャン方向を逆転させようとすると、再生範囲外に出てしまう可能性があります。逆転させる場合は境界付近(3〜6秒以内)に注意します。


戻る進む
PROGRAMMER'S GUIDECD通信I/F(CDパート)
Copyright SEGA ENTERPRISES, LTD., 1997