0

这是我到目前为止所拥有的

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"大量的 more \0,它适用于它迭代的每个音乐文件。

FileStream我认为在winrt中不存在,因此所有互联网信息都与我需要的信息略有不同。此外,没有stream.Length,只有stream.Size,如果这有区别的话。花了一整天的时间试图解决这个问题,非常感谢任何帮助。

4

1 回答 1

0

想通了,必须把 x 变成一个数组,然后分配给一个新的 byte[]

    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);
于 2013-07-17T05:50:56.287 回答