
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
質問者さんからの反応が全く無いので、これっきりにしますが、
midiファイルだと長さや音源の数で
再生まで時間が掛かる場合がありますが
これは仕方がないことだとおもいます。
wma、mp3 などでは10年以上前のPCでも遅延は発生しないです。
以前色々と試した時には、
まったく反応がなかったり、輪唱状態になったり (^_^;)
面白かったです orz
ダメもとで再生前に
Sub CloseMCI()
Dim pRc As Long
pRc = mciSendString("Close All", "", 0, 0) '全てのDeviceを閉じて解放 ?
If pRc <> 0 Then
Stop 'エラーの場合ここで止まる
End If
End Sub
を実行すると良いかもです。
http://homepage1.nifty.com/rucio/main/dotnet/Sam …
No.3
- 回答日時:
こんばんは。
>すぐに再生されるときと、再生されるまでに3秒くらいかかるときがあるのですが、なぜでしょうか?
おそらく、オーバーヘッドといって、オブジェクトを読み込むためのメモリ確保の時間でしょう。解決は方法は特別ありませんが、一端、空ファイルを起動時などに読ませることができれば、速く再生するはずです。
No.2
- 回答日時:
原因は存じませんが、昔Wavをメモリに読み込んで演奏するコードを切り貼りしたのを思い出して引っ張り出して来ました。
一旦読み込んだ後はメモリアクセスなので、時間は食わないと思います。但し、音源はWavファイル限定です。短時間の音源を即鳴らしたい時には使えるかもしれません。Win7Home(64bit) + xl2010(32bit)で動作しました。全然短くない60M程度のファイルで試したところ、タスクマネージャで眺めるとメモリの占有も60M程度でした。ご参考まで。
'☆UserForm1モジュール
'Wav限定
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" ( _
ByRef pszSound As Byte, ByVal hmod As Long, ByVal fdwSound As Long) As Long
'PlaySound(0,0,0)で止まるという記事通りには止まらないので苦肉の策
Private Declare Function PlaySound2 Lib "winmm.dll" Alias "PlaySoundA" _
(ByVal pszSound As String, ByVal hmod As Long, ByVal fdwSound As Long) As Long
Private Const SND_ASYNC = &H1
Private Const SND_MEMORY = &H4
Private Const SND_LOOP = &H8
Dim BufSndTest() As Byte
Private Sub CommandButton1_Click()
PlaySound BufSndTest(0), 0, SND_ASYNC + SND_MEMORY + SND_LOOP
End Sub
Private Sub CommandButton2_Click()
Call PlaySound2(vbNullString, 0, 0)
End Sub
Private Sub UserForm_Activate()
ReadSoundBuffer GetDesktopPath & "\hoge.wav"
End Sub
'メモリに読み込んで、以降メモリデータを演奏
Private Function ReadSoundBuffer(WrkSndFile As String)
Dim WrkNumber As Long
WrkNumber = FreeFile()
Open WrkSndFile For Binary As WrkNumber
ReDim BufSndTest(LOF(WrkNumber))
Get WrkNumber, , BufSndTest
Close WrkNumber
End Function
'テスト用
Private Function GetDesktopPath() As String
Dim wScriptHost As Object, strInitDir As String
Set wScriptHost = CreateObject("Wscript.Shell")
GetDesktopPath = wScriptHost.SpecialFolders("Desktop")
Set wScriptHost = Nothing
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
if関数の複数条件について
-
【マクロ】実行時エラー '424':...
-
【画像あり】オートフィルター...
-
同じ名前(重複)かつ 日本 ア...
-
【マクロ】数式を入力したい。...
-
excel
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
エクセルシートの見出しの文字...
-
エクセルの複雑なシフト表から...
-
グループごとの個数をカウント...
-
エクセルについてどう関数を使...
-
表計算ソフトでの様式の呼称
-
エクセルでフィルターした値を...
-
勤怠表について ABS、TEXT関数...
-
【マクロ】excelファイルを開く...
-
【関数】=EXACT(a1,b1) a1とb1...
-
【マクロ】【画像あり】4つの...
-
オートフィルターの絞込みをし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
YouTubeの再生中、勝手に巻き戻...
-
EXCEL VBA でAPIを使って
-
sony media library earth
-
パソコンの動きがコマ送りのよ...
-
動画?を再生したい
-
GOM playerでの再生速度の設定
-
英語学習のためのMP3プレイヤー
-
TV録画をSWデコーダーで見ると...
-
Macで焼いたCDデータファイルを...
-
WindowsXPでGyaoが視聴できない
-
QuickTime Player の使い方
-
CDの内容をブルーレイディスク...
-
漸次書きって何ですか、
-
PremierePro2.0のオーディオピ...
-
トリミングしたのにデータ量が...
-
ゼンリーで相手が同じ場所で少...
-
USBカメラからの動画像をストリ...
-
PS2「ガンダム トゥルーオデッ...
-
Mp3DirectCutで無音区間を検出...
-
flvからmp4に変換する際音ズレ...
おすすめ情報