Audio CD を演奏する

VC++ の MCI(Media Control Interface) で Audio CD(音楽用CD) を演奏します。
MCI を使うと市販されている音楽用CDを簡単に演奏することができます。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. 新規プロジェクトを作成して下さい。
  2. DialogBox を作成して下さい。
    キャプションとIDを次のように設定して下さい。
    BOX キャプション ID
    DialogBox Dialog IDD_DIALOG1
    Button CD-PLAY IDOK
    Button CLOSE IDCANCEL
  3. 次のファイルをプロジェクトのフォルダーに格納して下さい。
    演奏する音楽用CDは市販のものでも、パソコンで焼いたものでもかまいません。
    ファイル 説明
    CD.cpp Windows Main Program
    音楽用CD 演奏する音楽用CDをセット
  4. "winmm.lib" をリンクして下さい。
    WinMain では DialogBox を表示するだけです。
  5. DialogBox の CALLBACK 関数です。
    CD-PLAY ボタンをクリックすると演奏を開始します。
    "open cdaudio alias x" で、CDをオープンします。
    "set x time format tmsf" でタイムフォーマットを TMSF(TrackMinuteSecondFrame) に設定します。
    "play x from 1 to 2" で一曲目から二曲目の始めまで演奏します。
        switch(msg)
        {   case WM_COMMAND:
                switch(LOWORD(wParam))
                {   case IDOK:
                        rc= mciSendString("open cdaudio alias x",NULL,0,NULL);
                        if (rc)     MessageBox(hDlg,"CD Open Error","CD Play",MB_OK);
                        rc= mciSendString("set x time format tmsf",NULL,0,NULL);
                        if (rc)     MessageBox(hDlg,"time format Error","CD Play",MB_OK);
                        rc= mciSendString("play x from 1 to 2",NULL,0,NULL);
                        if (rc)     MessageBox(hDlg,"play Error","CD Play",MB_OK);
                        return TRUE;
        
  6. CLOSE ボタンでウインドウをクローズします。
                    case IDCANCEL:
                        PostMessage(hDlg,WM_CLOSE,0,0);
                        return TRUE;
          
  7. WM_CLOSE で演奏を停止してプログラムを終了します。
            case WM_CLOSE:
                rc= mciSendString("stop x",NULL,0,NULL);
                if (rc)     MessageBox(hDlg,"Stop Error","CD Play",MB_OK);
                rc= mciSendString("close x",NULL,0,NULL);
                if (rc)     MessageBox(hDlg,"Close Error","CD Play",MB_OK);
                EndDialog(hDlg, TRUE); 
                return TRUE;
        
  8. ビルドに続いて実行を行います。
    セットした音楽CDの一曲目が演奏されたら完成です。

【演習】

  1. Spin Button や List Box や Edit Box から、トラックを選択して演奏するプログラムを作成して下さい。
  2. 四曲目を演奏するときは "play x from 4 to 5" のように指定します。
  3. "to" を省略すると最後まで演奏されるようです。

超初心者の方のために全ソースコードを掲載します。 (^_^;)
全ソースコード

超初心者のプログラム入門(Win32API C++)