package go_alac import ( "io/ioutil" "os" "testing" "time" ) func TestEncodeMP4(t *testing.T) { t.Parallel() f, err := os.Open("sample/test_s16.raw") if err != nil { t.Error(err) return } defer f.Close() data, err := ioutil.ReadAll(f) if err != nil { t.Error(err) return } o, err := os.Create("sample/test_s16_output.m4a") if err != nil { t.Error(err) return } defer o.Close() encoder := NewFormatEncoder(o, 44100, 2, 16, false, time.Second) iterationSize := 65536 for len(data) > iterationSize { encoder.Write(data[:iterationSize]) data = data[iterationSize:] } if len(data) > 0 { encoder.Write(data) } o.Sync() o.Close() }