Skip to content

Commit 923b44e

Browse files
committed
fix: update voice example for proper DCA playback
1 parent 3274c76 commit 923b44e

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

_examples/voice/voice.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,10 @@ func writeOpus(w io.Writer) {
8686
ticker := time.NewTicker(time.Millisecond * 20)
8787
defer ticker.Stop()
8888

89-
var lenBuf [4]byte
90-
for range ticker.C {
91-
_, err = io.ReadFull(file, lenBuf[:])
89+
var frameLen int16
90+
// Don't wait for the first tick, run immediately.
91+
for ; true; <-ticker.C {
92+
err = binary.Read(file, binary.LittleEndian, &frameLen)
9293
if err != nil {
9394
if err == io.EOF {
9495
_ = file.Close()
@@ -98,14 +99,11 @@ func writeOpus(w io.Writer) {
9899
return
99100
}
100101

101-
// Read the integer
102-
frameLen := int64(binary.LittleEndian.Uint32(lenBuf[:]))
103-
104102
// Copy the frame.
105-
_, err = io.CopyN(w, file, frameLen)
103+
_, err = io.CopyN(w, file, int64(frameLen))
106104
if err != nil && err != io.EOF {
107105
_ = file.Close()
108106
return
109107
}
110108
}
111-
}
109+
}

0 commit comments

Comments
 (0)