wavファイルの読み込み
投稿者 (削除されました)  ()
投稿日時
2011/5/16 20:37:34
(削除されました)
投稿者 よねKEN  (社会人)
投稿日時
2011/5/16 20:38:58
SoundPlayer クラスはStreamを扱えます。
ファイルをByte配列に読み込んで、このByte配列をメモリ上に保持しておきます。
音を再生するときには、このByte配列を使ってMemoryStreamクラスのインスタンスを作って、
このStreamを使って再生すればよいです。サンプルは以下のような感じ。
ファイルをByte配列に読み込んで、このByte配列をメモリ上に保持しておきます。
音を再生するときには、このByte配列を使ってMemoryStreamクラスのインスタンスを作って、
このStreamを使って再生すればよいです。サンプルは以下のような感じ。
Imports System.IO
Imports System.Media
Public Class Form1
Private wavData As Byte()
Private player As SoundPlayer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
wavData = File.ReadAllBytes(ファイル名)
player = New SoundPlayer()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
player.Stream = New MemoryStream(wavData)
player.Play()
End Sub
End Class
投稿者 YAS  (社会人)
投稿日時
2011/5/16 20:40:27
Byte配列に読み込んでおいて再生することはできます。
が,素早く再生できているかは分かりません。
が,素早く再生できているかは分かりません。
Private tada As Byte()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
tada = My.Computer.FileSystem.ReadAllBytes("C:\Windows\Media\tada.wav")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
My.Computer.Audio.Play(tada, AudioPlayMode.Background)
End Sub
投稿者 YAS  (社会人)
投稿日時
2011/5/16 20:44:13
あらら,同じ様な内容でダブって投稿してしまいました。
ごめんなさい。
ごめんなさい。
投稿者 JF1JAPAN  (中学生)
投稿日時
2011/5/16 21:54:25
ありがとうございました。
おかげさまで、再生までの時間も短縮されました。
これからもよろしくお願いします。
おかげさまで、再生までの時間も短縮されました。
これからもよろしくお願いします。
現在製作中のプログラムで、wavファイルを再生したく、再生するコードを拾って張り付けたのはいいのですが、メモリーの方に読みこんでおいて、素早くロードするということはできますか?
できるならば、参考コードをお教えください。
今普通に使っている再生コードは、
です。