次の方法で共有


記録プロセスのカスタマイズ

[このページに関連付けられている機能 である MCIWnd ウィンドウ クラスは、従来の機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能な場合は MCIWnd ウィンドウ クラスではなく MediaPlayer を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

MCIWnd ウィンドウの作成から記録された情報のファイルへの保存まで、記録プロセスをカスタマイズして、ほとんどのすべてを完全に制御できます。 次の例では、MCI デバイスに対して記録と保存機能のクエリを実行し、コンテンツの先頭または末尾に記録するメニュー コマンドを含めます。

次の例では 、MCIWndCreate 関数を使用して新しいウィンドウを作成し、記録されたデータを格納する既存のファイルと、新しいファイルをウィンドウに関連付ける MCIWndNew マクロを指定できます。 または、 MCIWndOpen マクロまたは MCIWndOpenDialog マクロを使用してファイルを指定することもできます。

この例では、 MCIWndCanRecord マクロを使用して、デバイスが記録できることを確認し、 MCIWndCanSave マクロを使用して、デバイスが情報を保存することを確認します。 この例では、 MCIWndHome マクロと MCIWndEnd マクロを使用して、現在の再生位置 設定します。 この例では 、MCIWndRecord マクロを使用して記録を開始します。 情報を記録した後、 MCIWndSaveDialog マクロを使用して保存します。

case WM_COMMAND: 
    switch (wParam) 
    { 
        case IDM_CREATEMCIWND: 
            g_hwndMCIWnd = MCIWndCreate( hwnd, g_hinst, 
                WS_VISIBLE | WS_CHILD | 
                MCIWNDF_RECORD,                   // add Record button
                NULL ); 
 
            MCIWndNew(g_hwndMCIWnd, "waveaudio"); // new file 
 
            if( MCIWndCanRecord(g_hwndMCIWnd) ) 
            { 
                MessageBox( hwnd, 
                "Press the red button on the toolbar to record.", 
                "MCIWnd Record", 
                MB_OK ); 
            } 
            else 
            { 
                MessageBox( hwnd, 
                    "This device doesn't record.", 
                    "MCIWnd Record", 
                    MB_OK ); 
            } 
            break; 
        case IDM_RECORDATSTART: 
            if( MCIWndCanRecord(g_hwndMCIWnd) ) 
            { 
                MCIWndHome(g_hwndMCIWnd); 
                MCIWndRecord(g_hwndMCIWnd); 
            } 
            else 
            { 
                MessageBox( hwnd, 
                    "This device doesn't record.", 
                    "MCIWnd Record", 
                    MB_OK); 
            } 
            break; 
        case IDM_RECORDATEND: 
            if( MCIWndCanRecord(g_hwndMCIWnd) ) 
            { 
                MCIWndEnd(g_hwndMCIWnd); 
                MCIWndRecord(g_hwndMCIWnd); 
            } 
            else 
            { 
                MessageBox( hwnd, 
                    "This device doesn't record.", 
                    "MCIWnd Record", 
                    MB_OK); 
            } 
            break; 
        case IDM_SAVEMCIWND: 
            if( MCIWndCanSave(g_hwndMCIWnd) ) 
                MCIWndSaveDialog(g_hwndMCIWnd); 
    } 
    break; 
 
    // Handle other messages here.