掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デバイス指定してのWAVE再生 (ID:24741)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
API使ってのWAVEファイルの再生についてです。 http://forum.nifty.com/fdelphi/samples/01075.html 全くわからないので、まずはここのソースを元に、少しずつ勉強してるところですが、デバイスID「WavOutSetID」を指定して渡すと、WAVERR_BADFORMATが帰ってきます。 WAVE_MAPPERであれば、問題なく再生出来ています。 理由や調べるヒントなど教えていただければ幸いです。 よろしくお願いいたします。 FuncA('デバイス名'); waveOutOpen(@FhWavOut, WavOutSetID, PWaveFormatEx(FpSubchunk), DWORD(@waveOutProc),0,WAVE_FORMAT_QUERY); //WAVERR_BADFORMAT => サポートされていないウェーブフォーム形式でオープンしようとしました。 //が返ってきちゃう //再生デバイスID取得 function FuncA(WavOutName:String): Boolean; var mmr : MMResult; caps: TWaveOutCaps; i, dwMaxDev: Integer; begin Result:= False; WavOutSetID:= WAVE_MAPPER; //該当無ければWAVE_MAPPER dwMaxDev:= waveOutGetNumDevs(); //再生デバイスの個数 if dwMaxDev = 0 then Exit; Result:= True; for i:=0 to dwMaxDev-1 do begin mmr:= waveOutGetDevCaps(i, @caps, SIZEOF(caps)); case mmr of MMSYSERR_NOERROR : //正常 if (WavOutName = caps.szPname) then WavOutSetID:= i; MMSYSERR_BADDEVICEID : //インデックス範囲外 Break; MMSYSERR_NODRIVER : //ドライバなし Continue; end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.