サウンドの再生(WAV MP3の再生)方法

解決


Blue Line  2004-07-04 09:09:25  No: 84371  IP: [192.*.*.*]

はじめまして。VB初心者ですが宜しくお願いします。
mciSendString関数を使用して音楽ファイルを再生したいのですが、
Cドライブの直下にある音楽ファイルしか再生することができません。
下記のように関数を指定しています。
FILE_NAME = Text1.text
Call mciSendString("play """ & FILE_NAME & """", "", 0, 0)
音楽ファイルのPathが長いと再生できないのでしょうか?
どなたか宜しくお願いします。

編集 削除
ねろ  2004-07-04 14:48:41  No: 84372  IP: [192.*.*.*]

Text1.textの中身はどのようになっていますか?
Text1.textにちゃんとパス付きのファイル名を入れればOKと思いますが。
それと細かい事を言うようですが、
FILE_NAME はパラメーター(引数)と言います。
>下記のように関数を指定しています。
は「下記のようにパラメーターを設定(指定)して、関数を呼び出しています。」
となります。

編集 削除
Blue Line  2004-07-05 08:34:55  No: 84373  IP: [192.*.*.*]

ねろさん、ご指摘有難うございます。
Text1.textの中身は、『C:\WINDOWS\Mediatada.wav』になります。
これだと音が鳴りませんが、
Text1.textの中身が、『C:\tada.wav』だと音が鳴ります。

宜しくお願いします。

編集 削除
ねろ  2004-07-05 09:55:02  No: 84374  IP: [192.*.*.*]

>C:\WINDOWS\Mediatada.wav
では無くて
C:\WINDOWS\Media\tada.wav
じゃ無いのかな。

編集 削除
Blue Line  2004-07-05 22:26:11  No: 84375  IP: [192.*.*.*]

ねろさん、有難うございます。
大変申し訳ございません、私の確認不足です。ご指摘の通りです。
Text1.Textには、下記のようにPathを代入しており、
Text1.Text = Dir1.Path & File1.FileName
Cドライブの直下だと、Text1.Textが「C:\tada.wav」になり、
C:\WINDOWS\Mediaの下だと、Text1.Textが「C:\WINDOWS\Mediatada.wav」
になります。
しかし、下記のようにPathを代入すると、
Text1.Text = Dir1.Path & "\" & File1.FileName
Cドライブの直下にある場合、Text1.Textが「C:\\tada.wav」になってしまいます。
これは、IF文または、ファイル情報などして、対策しようかと思います。

こちらの確認不足で恥ずかしい質問してしまい申し訳ありませんでした。

また何かありましたら宜しくお願いします。

編集 削除
ねろ  2004-07-06 07:59:11  No: 84376  IP: [192.*.*.*]

>「C:\\tada.wav」になってしまいます。
共有ドライブを使っていなかったらこんなおまじないを一つ入れたらどうですか。  
Text1 = Replace(Dir1.Path & "\" & File1.FileName, "\\", "\")

編集 削除
Blue Line  2004-07-06 20:22:17  No: 84377  IP: [192.*.*.*]

それは便利なおまじないですね。。
早速使わせていただきます。
どうもありがとございます。

編集 削除