我在我的wpf程序中保存id3类型时遇到了麻烦。
我可以保存其他因素,如歌曲标题,歌手,专辑,年... 但是,除了流派。
正如您在上面看到我的示例代码,如果我将Genre保存为int 10或任何数字,结果将给出0,而不是10或任何数字。 我不知道为什么。
这是我的代码snipet。
byte GetBytesInt32(int argument)
{
byte[] byteArray = BitConverter.GetBytes(argument);
return byteArray[0];
}
private byte[] GetTagBytes
{
get
{
byte[] Buf = new byte[128];
Array.Clear(Buf, 0, 128);
Encoding.Default.GetBytes("TAG").CopyTo(Buf, 0);
Encoding.Default.GetBytes(타이틀.Text).CopyTo(Buf, 3);
Encoding.Default.GetBytes(가수명.Text).CopyTo(Buf, 33);
Encoding.Default.GetBytes(앨범.Text).CopyTo(Buf, 63);
Encoding.Default.GetBytes(년도.Text).CopyTo(Buf, 93);
Encoding.Default.GetBytes("").CopyTo(Buf, 97);
Buf[126] = GetBytesInt32(10);
Buf[127] = GetBytesInt32(10);//currentGenre;
return Buf;
}
}
private async void BT_infoUpdate_Click()
{
FileStream fs = null;
try
{
fs = new FileStream(path, FileMode.Open, FileAccess.Write, FileShare.ReadWrite);
fs.Seek(-128, SeekOrigin.End);
fs.Write(GetTagBytes, 0, 128);
fs.Close();
}
catch
{
if (fs != null) fs.Dispose();
}
}