MCPcopy Create free account
hub / github.com/ConnectAI-E/Feishu-OpenAI-Stream-Chatbot / WriteHeader

Method WriteHeader

code/utils/audio/wav.go:16–66  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

14}
15
16func (e *Encoder) WriteHeader() error {
17 if err := writeLe(e.Output, []byte("RIFF")); err != nil {
18 return err
19 }
20
21 if err := writeLe(e.Output, uint32(0)); err != nil { // Placeholder for file size
22 return err
23 }
24
25 if err := writeLe(e.Output, []byte("WAVE")); err != nil {
26 return err
27 }
28
29 if err := writeLe(e.Output, []byte("fmt ")); err != nil {
30 return err
31 }
32 if err := writeLe(e.Output, uint32(16)); err != nil {
33 return err
34 }
35
36 if err := writeLe(e.Output, uint16(1)); err != nil { // Audio format: PCM
37 return err
38 }
39 if err := writeLe(e.Output, uint16(1)); err != nil { // Number of channels: 1 (mono)
40 return err
41 }
42 if err := writeLe(e.Output, uint32(e.SampleRate)); err != nil {
43 return err
44 }
45
46 if err := writeLe(e.Output, uint32(e.SampleRate*e.BitDepth/8)); err != nil {
47 return err
48 }
49
50 if err := writeLe(e.Output, uint16(e.BitDepth/8)); err != nil {
51 return err
52 }
53 if err := writeLe(e.Output, uint16(e.BitDepth)); err != nil {
54 return err
55 }
56
57 if err := writeLe(e.Output, []byte("data")); err != nil {
58 return err
59 }
60
61 if err := writeLe(e.Output, uint32(0)); err != nil { //Placeholder for data size
62 return err
63 }
64 e.isHeaderWritten = true
65 return nil
66}
67
68func writeLe[T []byte | uint32 | uint16 | uint8](w io.Writer, data T) error {
69 return binary.Write(w, binary.LittleEndian, data)

Callers 1

WriteMethod · 0.95

Calls 1

writeLeFunction · 0.85

Tested by

no test coverage detected