Visual Basic конвертирует строку в аудио (WAV) файл и воспроизводит - PullRequest
0 голосов
/ 21 января 2019

Я использую форму выигрыша VB и мне нужно сыграть в WAV из строки, но я не знаю, как это сделать.

Dim URl As String ="http://localhost/main.php?command=readdata"
Dim request As HttpWebRequest = HttpWebRequest.Create(URl)
request.Proxy = Nothing
request.UserAgent = "Test"
Dim response As HttpWebResponse = request.GetResponse
Dim responseStream As System.IO.Stream = response.GetResponseStream

Dim Reader As New System.IO.StreamReader(responseStream)
Dim data As String = Reader.ReadToEnd
Reader.Close()

Dim AudioData As String = Hex2String(data)

'here i wont play and save this data 

1 Ответ

0 голосов
/ 21 января 2019

Вы не хотите читать данные как строку, так как это не строка. Данные WAV - это двоичные данные. Это бессмысленно как строка, и если вы закодируете ее как строку, вы можете потерять некоторые данные в процессе. Так что, если вы не конвертируете его в строку, вам не нужен StreamReader. Просто создайте новый файл в виде потока, а затем скопируйте все байты из одного потока в другой:

Dim url As String ="http://localhost/main.php?command=readdata"
Dim request As HttpWebRequest = HttpWebRequest.Create(url)
request.Proxy = Nothing
request.UserAgent = "Test"
Dim response As HttpWebResponse = request.GetResponse()
Using responseStream As Stream = response.GetResponseStream()
    Using fileStream As New New FileStream("MyFile.wav", FileMode.CreateNew)
        responseStream.CopyTo(fileStream)
    End Using
End Using
...