2つのピットをmciSendString

独自のコードでほんの少しの補正目覚まし時計。

REPEATスコープオプション:ピット1

.wavファイルを選択し、適切に使用されたオリジナルの、まだありません声......

ああ、MCIは確かにああ、wavファイルをサポートしています......

それについて考え、私は以前.MP3アラーム、およびこの問題として選択されていましたか?

ソースを表示。

strSend = "PLAY " & STRING_SOUND_ALIAS & " REPEAT"
Call mciSendString(strSend, rbuf, 0, 0)

  

私には眠りから(......私は非常に死んで眠っていた一般的な)目を覚まし、私が選んだREPEATループにオプションを選択します。

ああ、そこにあります。あなたは、読ん場所を覚えておいてくださいPLAYのコマンドREPEATのオプションは、ファイルのみのMPEGVideoタイプに作用することができます。(時間はとても遅く、私は引用のソースを探していない、眠りに直接記録を終了したいです。)

うまくオープンMPEGVideoとして開かれたときには、非常に簡単です。

strSend = "OPEN " & Chr$(34) & FileName & Chr$(34) & " ALIAS " & STRING_SOUND_ALIAS & " TYPE MPEGVIDEO"
Call mciSendString(strSend, rbuf, 0, 0)

  

ピット2:ファイル名の長さ

......まあ、それはする必要があり、試してみてください。

D:\音楽\テーマ\アニソンピアノ〜まらしぃアニメの曲がピアノでカバー〜まらしぃ\まらしぃ - アニソンピアノ〜まらしぃアニメーションの曲はピアノでカバー〜.WAV

ああ?特別な文字は、ああ、なぜあなたはまだそれを再生することはできませんか?(ブラックボックスとして見た場合、私は結果だけを再生することはできません見て、私は、デバッグ出力を書き込みませんでした。)合計の長さよりも有意に少なかったMAX_PATH、フォルダ名やファイル名の長さも正常です。

参照してください。mciSendString()はそれを推論、文字列あまりにも面倒を返します。

あなたが見る、MCIは......それから、長い歴史の何かの長い歴史です!この場合、何かの長い歴史は、強力な可能性が8.3形式(短いファイル名)に影響を及ぼす可能性があります。

また、取り扱いが容易です。APIのWindows、GetShortPathName()は、車輪の再発明はありません。

strShortFilename = String$(MAX_PATH, vbNullChar)
Call GetShortPathName(FileName, strShortFilename, MAX_PATH)
strShortFilename = Strip(strShortFilename)
strSend = "OPEN " & Chr$(34) & strShortFilename & Chr$(34) & " ALIAS " & STRING_SOUND_ALIAS & " TYPE MPEGVIDEO"
Call mciSendString(strSend, rbuf, 0, 0)

  

(上記のコードはピットがあることに注意してください。vbNullChar文字列がなければ、「トリミング」の冗長性を取り除くために、それはまた、再生することはできません。しかし、私は白羽の必要はないと思う、ブラケットの上に置きます。 )

睡眠に行きます

少なくともテストするだけでいくつかのサンプルでは、​​我々は合格しています。スリープ状態にアラームを設定、その後......今朝目を覚ますことができるはずです。

この記事では、メモはまあ......それにはカウントされません教えてくださいときにオンになり......

最後に補完し、MCIは、実際には、適切なデコーダがインストールされている場合ので、作業に対応する登録デコーダを呼び出して、あなたが適切な形式でオーディオファイルを再生することができ、実際にあります。もちろん、生のPCM波形と人々のマイクロソフトのグループは、私は分からないとは思わない場合......直接右に対処ネイティブAPIを使用してください......

ます。https://www.cnblogs.com/GridScience/p/3870946.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34007291/article/details/93320227