次の方法で共有


デバイス コントロール (Windows マルチメディア)

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

MCI デバイスを制御するには、デバイスを開き、必要なコマンドをデバイスに送信して、デバイスを閉じます。 コマンドは、まったく異なる MCI デバイスの場合でも、よく似ています。 たとえば、次の一連の MCI コマンドは、mciSendString 関数を使用してオーディオ CD の 6 番目のトラックを再生します。

mciSendString("open cdaudio", lpszReturnString,
    lstrlen(lpszReturnString), NULL);
mciSendString("set cdaudio time format tmsf", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("play cdaudio from 6 to 7", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("close cdaudio", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);

次の例は、波形オーディオ ファイルの最初の 10,000 サンプルを再生する同様の一連の MCI コマンドを示しています。

mciSendString(
    "open c:\mmdata\purplefi.wav type waveaudio alias finch", 
    lpszReturnString, lstrlen(lpszReturnString), NULL);
mciSendString("set finch time format samples", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("play finch from 1 to 10000", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);
mciSendString("close finch", lpszReturnString, 
    lstrlen(lpszReturnString), NULL);

これらの例は、MCI コマンドに関するいくつかの興味深い事実を示しています。

  • CD オーディオおよび波形オーディオ デバイスでは、同じ基本的なコマンド (を開く設定再生閉じる) が使用されます。 すべての MCI デバイスで同じ MCI コマンドが使用されます。
  • 波形オーディオ デバイスの open コマンドには、ファイル名の指定が含まれています。 波形オーディオ デバイスは 複合デバイス (データ ファイルに関連付けられているデバイス) ですが、CD オーディオ デバイスは 単純なデバイス です (データ ファイルが関連付けられていないデバイス)。
  • set コマンドは各ケースで時刻形式を指定しますが、CD オーディオ デバイスの時刻形式フラグではトラック/分/秒/フレーム (TMSF) 形式を指定し、波形オーディオ デバイスで使用される時刻形式は "samples" を指定します。
  • "from" フラグと "to" フラグで使用される変数は、それぞれの時刻形式に適しています。 たとえば、CD オーディオ デバイスの場合、変数はトラックの範囲を指定しますが、波形オーディオ デバイスの場合、変数はサンプルの範囲を指定します。