はじめまして。VB初心者ですが宜しくお願いします。
mciSendString関数を使用して音楽ファイルを再生したいのですが、
Cドライブの直下にある音楽ファイルしか再生することができません。
下記のように関数を指定しています。
FILE_NAME = Text1.text
Call mciSendString("play """ & FILE_NAME & """", "", 0, 0)
音楽ファイルのPathが長いと再生できないのでしょうか?
どなたか宜しくお願いします。
Text1.textの中身はどのようになっていますか?
Text1.textにちゃんとパス付きのファイル名を入れればOKと思いますが。
それと細かい事を言うようですが、
FILE_NAME はパラメーター(引数)と言います。
>下記のように関数を指定しています。
は「下記のようにパラメーターを設定(指定)して、関数を呼び出しています。」
となります。
ねろさん、ご指摘有難うございます。
Text1.textの中身は、『C:\WINDOWS\Mediatada.wav』になります。
これだと音が鳴りませんが、
Text1.textの中身が、『C:\tada.wav』だと音が鳴ります。
宜しくお願いします。
>C:\WINDOWS\Mediatada.wav
では無くて
C:\WINDOWS\Media\tada.wav
じゃ無いのかな。
ねろさん、有難うございます。
大変申し訳ございません、私の確認不足です。ご指摘の通りです。
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文または、ファイル情報などして、対策しようかと思います。
こちらの確認不足で恥ずかしい質問してしまい申し訳ありませんでした。
また何かありましたら宜しくお願いします。
>「C:\\tada.wav」になってしまいます。
共有ドライブを使っていなかったらこんなおまじないを一つ入れたらどうですか。
Text1 = Replace(Dir1.Path & "\" & File1.FileName, "\\", "\")
それは便利なおまじないですね。。
早速使わせていただきます。
どうもありがとございます。