##
20.3.1 プレーヤーオブジェクト

プレーヤーオブジェクト（`open()`で返されます）には以下のメソッ ドがあります：

`allowremoval`( | )

  CD-ROMドライブのイジェクトボタンのロックを解除して、ユーザがCDキャディを 排出するのを許可します。

`bestreadsize`( | )

  メソッド`readda()`のパラメータnum_framesとして最適の値を返 します。 最適値はCD-ROMドライブからの連続したデータフローが許可される値が定義され ます。

`close`( | )

  プレーヤーオブジェクトと関連付けられたリソースを解放します。 `close()`を呼び出したあとでは、そのオブジェクトに対するメソッドは 使用できません。

`eject`( | )

  CD-ROMドライブからキャディを排出します。

`getstatus`( | )

  CD-ROMドライブの現在の状態に関する情報を返します。 返される情報は以下の値からなるタプルです： state、track、rtime、atime、ttime、 first、last、scsi_audio、cur_block。 rtimeは現在のトラックの初めからの相対的な時間； atimeはディスクの初めからの相対的な時間； ttimeはディスクの全時間です。 それぞれの値の詳細については、マニュアルページ CDgetstatus(3dm)を参照してください。 stateの値は以下のうちのどれか一つです： `ERROR`、`NODISC`、`READY`、 `PLAYING`、`PAUSED`、`STILL`、 `CDROM`。

`gettrackinfo`( | track)

  特定のトラックについての情報を返します。 返される情報は、トラックの開始時刻とトラックの時間の長さの二つの要素から なるタプルです。

`msftoblock`( | min, sec, frame)

  分、秒、フレームの3つからなる絶対的なタイムコードを、与えられたCD-ROMド ライブの相当する論理ブロック番号に変換します。 時刻を比較するには`msftoblock()`よりも`msftoframe()`を 使うべきです。 論理ブロック番号は、CD-ROMドライブによって必要とされるオフセット値が違う ため、フレームナンバーと異なります。

`play`( | start, play)

  CD-ROMドライブのオーディオCDの特定のトラックから再生を開始します。 CD-ROMドライブのヘッドフォン端子と（備えているなら）オーディオ端子から出 力されます。 ディスクの最後で再生は停止します。 startは再生を開始するCDのトラックナンバーです； playが0なら、CDは最初の一時停止状態になります。 その状態からメソッド`togglepause()`で再生を開始できます。

`playabs`( | minutes, seconds, frames, play)

  `play()`と似ていますが、開始位置をトラックナンバーの代わりに分、 秒、フレームで与えます。

`playtrack`( | start, play)

  `play()`と似ていますが、トラックの終わりで再生を停止します。

`playtrackabs`( | track, minutes, seconds, frames, play)

  `play()`と似ていますが、指定した絶対的な時刻から再生を開始して、 指定したトラックで終了します。

`preventremoval`( | )

  CD-ROMドライブのイジェクトボタンをロックして、ユーザがCDキャディを排出で きないようにします。

`readda`( | num_frames)

  CD-ROMドライブにマウントされたオーディオCDから、指定したフレーム数を読み 込みます。 オーディオフレームのデータを示す文字列を返します。 この文字列はそのままパーザオブジェクトのメソッド`parseframe()`へ 渡すことができます。

`seek`( | minutes, seconds, frames)

  CD-ROMから次にデジタルオーディオデータを読み込む開始位置のポインタを設定 します。 ポインタはminutes、seconds、framesで指定した絶対的なタ イムコードの位置に設定されます。 返される値はポインタが設定された論理ブロック番号です。

`seekblock`( | block)

  CD-ROMから次にデジタルオーディオデータを読み込む開始位置のポインタを設定 します。 ポインタは指定した論理ブロック番号に設定されます。 返される値はポインタが設定された論理ブロック番号です。

`seektrack`( | track)

  CD-ROMから次にデジタルオーディオデータを読み込む開始位置のポインタを設定 します。 ポインタは指定したトラックに設定されます。 返される値はポインタが設定された論理ブロック番号です。

`stop`( | )

  現在実行中の再生を停止します。

`togglepause`( | )

  再生中ならCDを一時停止し、一時停止中なら再生します。