.wav ファイルから演奏合計時間を取得するには?

解決


touhi_genzitu.com  2005-08-29 20:16:45  No: 58786

DirectMusic 系の関数を利用して、.wav ファイルの演奏合計時間を取得したいのです。 色々と調べてみた結果、IDirectMusicSegment8 クラスの GetLength() 関数が怪しそうな気がします。 引数に NULL を指定してもうまくいきませんでした。 何か判る事がありましたら、助言を下さい。

  OS: Windows XP Home Edition
  開発環境: Microsoft Visual C++ 6.0


touhi_genzitu.com  2005-08-30 05:23:10  No: 58787

Microsoft の MSDN を調べてみても難解だったので、mciSendString API 
を用いて長さを求める事で演奏合計時間を秒単位で取得する事ができました。 また判らない事があればよろしくお願いします。 お騒がせしました。


ボコノン教徒  2005-08-30 22:57:02  No: 58788

> Microsoft の MSDN を調べてみても難解だったので
ひょっとして、Visual C++ 6.0付属のHELP(英語)で調べたんですか?
↓の下の方から、DirectXの日本語ヘルプがGetできます。
http://www.microsoft.com/japan/msdn/directx/downloads.aspx

「WAV サウンドの長さの計算」の項に、
DirectSoundのCWaveFileクラスを使って演奏時間の長さを求めるサンプルが
あります。

IDirectMusicSegment8::GetLength()はWaveファイルに対しては使えない
ようです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加