コード例 #1
0
ファイル: frame.go プロジェクト: viking/id3-go
func (f ImageFrame) Bytes() []byte {
	var err error
	bytes := make([]byte, f.Size())
	wr := encodedbytes.NewWriter(bytes)

	if err = wr.WriteByte(f.encoding); err != nil {
		return bytes
	}

	if err = wr.WriteString(f.mimeType, encodedbytes.NativeEncoding); err != nil {
		return bytes
	}

	if err = wr.WriteByte(f.pictureType); err != nil {
		return bytes
	}

	if err = wr.WriteString(f.description, f.encoding); err != nil {
		return bytes
	}

	if n, err := wr.Write(f.data); n < len(f.data) || err != nil {
		return bytes
	}

	return bytes
}
コード例 #2
0
ファイル: frame.go プロジェクト: viking/id3-go
func (f TextFrame) Bytes() []byte {
	var err error
	bytes := make([]byte, f.Size())
	wr := encodedbytes.NewWriter(bytes)

	if err = wr.WriteByte(f.encoding); err != nil {
		return bytes
	}

	if err = wr.WriteString(f.text, f.encoding); err != nil {
		return bytes
	}

	return bytes
}
コード例 #3
0
ファイル: frame.go プロジェクト: viking/id3-go
func (f IdFrame) Bytes() []byte {
	var err error
	bytes := make([]byte, f.Size())
	wr := encodedbytes.NewWriter(bytes)

	if err = wr.WriteString(f.ownerIdentifier, encodedbytes.NativeEncoding); err != nil {
		return bytes
	}

	if _, err = wr.Write(f.identifier); err != nil {
		return bytes
	}

	return bytes
}
コード例 #4
0
ファイル: frame.go プロジェクト: viking/id3-go
func (f UnsynchTextFrame) Bytes() []byte {
	var err error
	bytes := make([]byte, f.Size())
	wr := encodedbytes.NewWriter(bytes)

	if err = wr.WriteByte(f.encoding); err != nil {
		return bytes
	}

	if err = wr.WriteString(f.language, encodedbytes.NativeEncoding); err != nil {
		return bytes
	}

	if err = wr.WriteNullTermString(f.description, f.encoding); err != nil {
		return bytes
	}

	if err = wr.WriteString(f.text, f.encoding); err != nil {
		return bytes
	}

	return bytes
}