示例#1
0
        public void ID3ChunkWrite(BinaryWriter bw, string title, string album, string artists, byte[] albumCoverArt, string mimeType)
        {
            var chunkId = new byte[4];

            chunkId[0] = (byte)'i';
            chunkId[1] = (byte)'d';
            chunkId[2] = (byte)'3';
            chunkId[3] = (byte)' ';
            bw.Write(chunkId);

            long posStart = bw.BaseStream.Position;

            int chunkSize = 0;

            bw.Write(chunkSize);

            var id3w = new PcmDataLib.ID3Writer();

            id3w.Write(bw, title, album, artists, albumCoverArt, mimeType);

            long posEnd = bw.BaseStream.Position;

            chunkSize = (int)(posEnd - posStart - 4);


            bw.BaseStream.Seek(posStart, SeekOrigin.Begin);
            bw.Write(chunkSize);
            bw.BaseStream.Seek(posEnd, SeekOrigin.Begin);

            AddPadIfNecessary(bw, chunkSize);
        }
示例#2
0
        public void ID3ChunkWrite(BinaryWriter bw, string title, string album, string artists, byte[] albumCoverArt, string mimeType)
        {
            var chunkId = new byte[4];
            chunkId[0] = (byte)'i';
            chunkId[1] = (byte)'d';
            chunkId[2] = (byte)'3';
            chunkId[3] = (byte)' ';
            bw.Write(chunkId);

            long posStart = bw.BaseStream.Position;

            int chunkSize = 0;
            bw.Write(chunkSize);

            var id3w = new PcmDataLib.ID3Writer();

            id3w.Write(bw, title, album, artists, albumCoverArt, mimeType);

            long posEnd = bw.BaseStream.Position;

            chunkSize = (int)(posEnd - posStart - 4);

            bw.BaseStream.Seek(posStart, SeekOrigin.Begin);
            bw.Write(chunkSize);
            bw.BaseStream.Seek(posEnd, SeekOrigin.Begin);

            AddPadIfNecessary(bw, chunkSize);
        }