这是我到目前为止所拥有的
IRandomAccessStreamWithContentType stream = await file.OpenReadAsync();
byte[] byteArray = new byte[stream.Size];
IBuffer byteBuffer = byteArray.AsBuffer();
await stream.ReadAsync(byteBuffer, 0, 0);
String result = System.Text.Encoding.Unicode.GetString(byteArray, byteArray.Length - 128, 128);
不幸的是,结果总是出现"\0\0\0\0\0\0"
,其中包含大量\0
个内容,而且它会反复播放每个音乐文件。
FileStream
在winrt中是不存在的,因此所有互联网的信息都与我的需求略有不同。此外,没有stream.Length,只有stream.Size,如果这有所作为。花了一整天时间试图解决这个问题,非常感谢任何帮助。
答案 0 :(得分:0)
想通了,不得不把x变成一个数组,然后分配给一个新的字节[]
IRandomAccessStreamWithContentType stream = await file.OpenReadAsync();
byte[] byteArray = new byte[stream.Size];
IBuffer byteBuffer = byteArray.AsBuffer();
IBuffer x = await stream.ReadAsync(byteBuffer, (uint)byteArray.Length, 0);
byte[] newArray = x.ToArray();
String result = System.Text.Encoding.UTF8.GetString(newArray, 0, newArray.Length);