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で質問しましょう!
似たような質問が見つかりました
- 作詞・作曲 iMacでMIDIデータを良い音で再生するための音源をインストールする方法を教えて下さい 4 2022/07/09 17:51
- 作詞・作曲 DTM DAWとmidiキーボードについて 1 2022/10/20 16:41
- その他(悩み相談・人生相談) Windows10のブルースクリーンからの復旧について 2 2022/12/31 20:42
- 楽器・演奏 ギターエフェクターの名称 1 2023/05/11 16:08
- Excel(エクセル) Excel2010 VBAが特定動作で実行出来なくなる 7 2022/12/29 14:26
- Excel(エクセル) エクセル ボタンクリックでmp3ファイルを再生 1 2023/04/18 21:13
- Visual Basic(VBA) VBAでのフルパスの取得 1 2022/09/20 22:51
- Excel(エクセル) ランダムで四択の問題を作る場合にvbaで何を学べばいいでしょうか。 1 2022/04/14 16:45
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Excel(エクセル) vba コンパイル 4 2022/10/27 10:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルの数を求めたい
-
ある表にフィルターをかけて出...
-
Lookup関数
-
Excelを無料で使うには? パソ...
-
IFとIFS関数
-
エクセルの数式バーのフォント...
-
EXCELの散布図で日付が1900年に...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelピボットテーブルの1行目
-
エクセル日付 文字列の関数がエ...
-
西暦や和暦の表示をyyyymmdd表...
-
エクセルで「ページレイアウト...
-
【ExcelVBA】名前を付けて保存→...
-
Excelに詳しい方! B列が「日...
-
Excelで50個のセルに同じ文字を...
-
Excelについて
-
Excel関数について教えてくださ...
-
Excelで表を作ったところに文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
YouTubeの再生中、勝手に巻き戻...
-
Windows Media Playerの再生速...
-
動画再生中の音割れについて
-
Macで焼いたCDデータファイルを...
-
音声は流れているのに映像だけ...
-
どういう意味ですか
-
sony media library earth
-
DVDやmpgファイル再生時のみ、...
-
CDの内容をブルーレイディスク...
-
画像が緑色になります。
-
Win95対応CD-ROMを、...
-
EXCEL VBA でAPIを使って
-
パソコンの動きがコマ送りのよ...
-
メディアプレーヤーでなく、ペ...
-
media player(などのDVD) を...
-
メディアプレーヤーの複数ウィ...
-
YUIラヂオの音声が流れません。
-
QuickTime Player の使い方
-
windowsメディアプレーヤー
-
Windows ムービーメーカープロ...
おすすめ情報