API WAVE系の関数を使えるようになるには?


大木  2001-04-26 11:44:53  No: 74211  IP: [192.*.*.*]

はじめて書き込します。よろしくお願いします。
waveOutGetPitch、waveOutGetPlaybackRate 
waveOutSetPitch、waveOutSetPlaybackRateなどのAPIを使ってWAVファイルの再生速度・ピッチの変更などをしたいのですが、使い方が分かりません。WAVファイルの再生というとsndPlaySound,mciSendStringが主流で、なかなかサンプルが見つかりません(MSDNにも出てないようです)。どなたかWAVE系APIについて詳しく書かれているHP,著書、雑誌などご存知の方いらっしゃいましたら、ご一報よろしくお願いいたします。

編集    削除
PAPY  2001-04-26 22:37:18  No: 74212  IP: [192.*.*.*]

書籍について

ヘルプファイル(非売品?)
^^^^^^^^^^^^^^^^^^^^^^^^

VC++かDelphiに付属している
「Win32 Programmer's Reference」
に詳しく書かれています。但し、最新版はすべて英語です。

書籍
^^^^

「Win95プログラミングバイブル」

1冊一万円で計3冊ありますが、高いので私も持っていません。(^^;

※書籍/ヘルプファイル共にC言語の記述で書かれています。

編集    削除
PAPY  2001-04-26 22:37:54  No: 74213  IP: [192.*.*.*]

各APIの解説

waveOutGetPlaybackRate 
【用途】  
    ウェーブフォーム出力デバイスの現在の再生速度設定を取得
【引数】
  hWaveOut     /* 出力デバイスのハンドル  */ 
  lpdwRate     /* 再生速度を取得するバッファのアドレス  */ 
【戻り値】
  成功  0

waveOutSetPlaybackRate  
【用途】  
    ウェーブフォーム出力デバイスの再生速度を設定
【引数】
  hWaveOut    /* 速度が設定されるデバイスのハンドル*/ 
  dwRate      /* 新しい速度の指定*/ 
【戻り値】
  成功  0

waveOutGetPitch  
【用途】  
    ウェーブフォーム出力デバイスの現在のピッチ設定を取得
【引数】
  hWaveOut    /* 出力デバイスのハンドル  */ 
  lpdwPitch   /* ピッチ設定を取得するバッファ*/ 
【戻り値】
  成功  0

waveOutSetPitch  
【用途】  
    ウェーブフォーム出力デバイスのピッチを設定
【引数】
  hWaveOut  /* ピッチを設定するデバイスのハンドル*/ 
  dwPitch   /* 新しいピッチ*/ 
【戻り値】
  成功  0

これらのAPIのエラーコード
MMSYSERR_INVALHANDLE  /* 指定されたデバイス ハンドルが無効です。*/
MMSYSERR_NOTSUPPORTED  /*この機能はサポートされていません。*/
MMSYSERR_HANDLEBUSY  /* hWaveOutに指定したハンドルは、ほかのスレッドが使っています*/

編集    削除
大木  2001-04-27 05:45:58  No: 74214  IP: [192.*.*.*]

さっそくのお返事ありがとうございます。
  とりあえず、Microsoft  Win95プログラミングバイブルを1冊だけ買ってこようかと思っています。(^^;
  それと、VC++かDelphiに付属している「Win32 Programmer's Reference」についてですが、私はVC++ 6.0Prof.をもっていますが、
そのようなものは付属されていなかったような気がするのですが...
もう少し詳しく教えていただきたく、よろしくお願いいたします。
  またカキコします。(^^)/

編集    削除
PAPY  2001-04-28 02:03:12  No: 74215  IP: [192.*.*.*]

再度、VC++5.0で確認したら入っていませんでした(^^;
でもVCで、例えば「waveOutGetPitch」を書いてF1ヘルプを押すと
英文で内容が出てきますよね。その説明は「Win32 Programmer's Reference」と全く同じです。ということでVCのヘルプと考えてもよろしいかと思います。しかし、Delphiに付属しているヘルプは個別で分かれている為使いやすいです。

書籍の名前
  書籍の名前は正確に覚えていないのですが、「Win95 APIプログラミングバイブル」だったかも知れません。
 検索サイトでそのような名前を探せばでてくると思います。

編集    削除