go-alac/mp4_test.go

48 lines
676 B
Go

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()
}