TagLib#でMp3-ファイルを表すByteArrayのタグを編集することは可能ですか?
現時点では、次のようにする必要があります。
System.IO.File.WriteAllBytes(path + file + ".mp3", byt);
TagLib.File f = TagLib.File.Create(path + song + ".mp3");
これを回避して、ByteArrayから直接TagLib.Fileを作成することは可能ですか?
これを試して:
var file = TagLib.File.Create(new FileBytesAbstraction(<file name>, <file bytes>));
FileBytesAbstraction の場所:
public class FileBytesAbstraction : TagLib.File.IFileAbstraction
{
public FileBytesAbstraction(string name, byte[] bytes)
{
Name = name;
var stream = new MemoryStream(bytes);
ReadStream = stream;
WriteStream = stream;
}
public void CloseStream(Stream stream)
{
stream.Dispose();
}
public string Name { get; private set; }
public Stream ReadStream { get; private set; }
public Stream WriteStream { get; private set; }
}