Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11817 / 13645 ツリー ←次へ | 前へ→

【13950】サウンド関連 For Each 04/5/17(月) 19:34 質問[未読]
【13955】Re:サウンド関連 For Each 04/5/17(月) 22:33 発言[未読]
【13957】Re:サウンド関連 ichinose 04/5/17(月) 23:25 発言[未読]

【13950】サウンド関連
質問  For Each  - 04/5/17(月) 19:34 -

引用なし
パスワード
   ゲームを作っていて、問題が出てきました。
サウンドを再生するAPIのmicSendStringをつかっているのですが、それで音が鳴っている最中に、Gettickcount同期をすると、 エラー(式が複雑すぎます) が発生します。
コードにすると(標準モジュールへのAPIの宣言は省略)

Function Sound(FileName As String)
dim rc As Long
rc = mciSendString("Play " & FileName, "", 0, 0)
End Function

Sub マクロ1()
Dim Stime As Double
Stime = GetTickCount
Sound "ここにサウンドファイルの絶対パス"
Do While GetTickCount - Stime < 20: Loop <-------ここでエラー発生
End Sub

と言う感じです。sndPlaySoundは既に使っているのでそれ以外で何か対処法を知っている方は、是非教えてください。
補足:
  Shell関数でWindowsMediaPlayerを起動させ、ファイルを再生しても、同じエラーに  なります

【13955】Re:サウンド関連
発言  For Each  - 04/5/17(月) 22:33 -

引用なし
パスワード
   追加情報です。どうもplayメゾットを使うと同期ができないみたいです。
こうなると、残りの可能性がDirectXのDirectSoundですが、何か知っている方は、おしえてください。もちろん他でも構いません。どうかよろしく!
   A___A
  (・o・)ノ

【13957】Re:サウンド関連
発言  ichinose  - 04/5/17(月) 23:25 -

引用なし
パスワード
   ▼For Each さん:
こんばんは。

>追加情報です。どうもplayメゾットを使うと同期ができないみたいです。
>こうなると、残りの可能性がDirectXのDirectSoundですが、何か知っている方は、おしえてください。もちろん他でも構いません。どうかよろしく!
>   A___A
>  (・o・)ノ

MediaPlayerコントロールというのがあるんですが、
これで試してみるとどうでしょうか?

フォームでもシートでも貼り付きます。

その他のコントロールを探ってみて下さい。
私が簡単なテストをした限りではエラーは出ませんでしたけど・・。
確認してみて下さい。

11817 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free