はじめて書き込します。よろしくお願いします。
waveOutGetPitch、waveOutGetPlaybackRate
waveOutSetPitch、waveOutSetPlaybackRateなどのAPIを使ってWAVファイルの再生速度・ピッチの変更などをしたいのですが、使い方が分かりません。WAVファイルの再生というとsndPlaySound,mciSendStringが主流で、なかなかサンプルが見つかりません(MSDNにも出てないようです)。どなたかWAVE系APIについて詳しく書かれているHP,著書、雑誌などご存知の方いらっしゃいましたら、ご一報よろしくお願いいたします。
書籍について
ヘルプファイル(非売品?)
^^^^^^^^^^^^^^^^^^^^^^^^
VC++かDelphiに付属している
「Win32 Programmer's Reference」
に詳しく書かれています。但し、最新版はすべて英語です。
書籍
^^^^
「Win95プログラミングバイブル」
1冊一万円で計3冊ありますが、高いので私も持っていません。(^^;
※書籍/ヘルプファイル共にC言語の記述で書かれています。
各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に指定したハンドルは、ほかのスレッドが使っています*/
さっそくのお返事ありがとうございます。
とりあえず、Microsoft Win95プログラミングバイブルを1冊だけ買ってこようかと思っています。(^^;
それと、VC++かDelphiに付属している「Win32 Programmer's Reference」についてですが、私はVC++ 6.0Prof.をもっていますが、
そのようなものは付属されていなかったような気がするのですが...
もう少し詳しく教えていただきたく、よろしくお願いいたします。
またカキコします。(^^)/
再度、VC++5.0で確認したら入っていませんでした(^^;
でもVCで、例えば「waveOutGetPitch」を書いてF1ヘルプを押すと
英文で内容が出てきますよね。その説明は「Win32 Programmer's Reference」と全く同じです。ということでVCのヘルプと考えてもよろしいかと思います。しかし、Delphiに付属しているヘルプは個別で分かれている為使いやすいです。
書籍の名前
書籍の名前は正確に覚えていないのですが、「Win95 APIプログラミングバイブル」だったかも知れません。
検索サイトでそのような名前を探せばでてくると思います。
ツイート | ![]() |