From 77b62615b22d71a4eaf63ab92772a6c80a3275da Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Fri, 11 Mar 2016 13:03:45 +0900 Subject: [PATCH] audio: Adjust buffer size to reduce noise --- exp/audio/audio_js.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/exp/audio/audio_js.go b/exp/audio/audio_js.go index 56a04ddd9..11cbd09cf 100644 --- a/exp/audio/audio_js.go +++ b/exp/audio/audio_js.go @@ -75,11 +75,13 @@ func max64(a, b int64) int64 { } func (p *player) proceed() error { - const bufferSize = 2048 + const channelNum = 2 + const bytesPerSample = channelNum * 16 / 8 + bufferSize := p.sampleRate * bytesPerSample / 60 c := int64(p.context.Get("currentTime").Float() * float64(p.sampleRate)) // Buffer size is relatively big and it is needed to check that c.positionInSample doesn't // proceed too far away (#180). - if c+bufferSize < p.positionInSamples { + if c+int64(bufferSize) < p.positionInSamples { return nil } if p.positionInSamples < c { @@ -88,8 +90,6 @@ func (p *player) proceed() error { b := make([]byte, bufferSize) n, err := p.src.Read(b) if 0 < n { - const channelNum = 2 - const bytesPerSample = channelNum * 16 / 8 buf := p.context.Call("createBuffer", channelNum, n/bytesPerSample, p.sampleRate) l := buf.Call("getChannelData", 0) r := buf.Call("getChannelData", 1)