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"膨大な量のより多く\0の 's で出力されます。これは、反復するすべての音楽ファイルに対するものです。

FileStreamwinrtには存在しないと思うので、インターネットのすべての情報は必要なものから少しずれています。また、違いがある場合は、stream.Length はなく、stream.Size のみです。これを理解するために一日中費やしましたが、どんな助けも大歓迎です。

4

1 に答える 1

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