Преобразовать UnmanagedMemoryStream в байтовый массив
Как просто, как я могу преобразовать в VBNET UnmanagedMemoryStream в Byte-Array?
Dim bytes() As Byte = My.Resources.AudioFile
Исключение:
Value of type 'System.IO.UnmanagedMemoryStream' cannot be converted to '1-dimensional array of Byte'.
2 ответа
Решение
Вы можете конвертировать System.IO.MemoryStream
прямо к Byte()
Array, используя:
Dim myMemStream As New System.IO.MemoryStream
My.Resources.AudioFile.CopyTo(myMemStream)
Dim myBytes() As Byte = myMemStream.ToArray
Попробуйте этот подход. Я не проверял это, но это следует за чем-то похожим на статью из MSDN, с несколькими изменениями. http://msdn.microsoft.com/en-us/library/system.io.unmanagedmemorystream.aspx
Dim audioBytes() as Byte
Dim audioStreamReader As System.IO.UnmanagedMemoryStream = CType(My.Resources.AudioFile, System.IO.UnmanagedMemoryStream)
Dim length As Long = audioStreamReader.Length
audioStreamReader.Position = 0
audioStreamReader.Read(bytes, 0, length);
'At this point, audioBytes contains the data.