MCPcopy
hub / github.com/EngoEngine/engo / Load

Method Load

common/audio_filetype.go:22–67  ·  view source on GitHub ↗

Load processes the data stream and parses it as an audio file

(url string, data io.Reader)

Source from the content-addressed store, hash-verified

20
21// Load processes the data stream and parses it as an audio file
22func (a *audioLoader) Load(url string, data io.Reader) error {
23 var err error
24 audioBytes, err := ioutil.ReadAll(data)
25 if err != nil {
26 return err
27 }
28
29 audioBuffer := bytes.NewReader(audioBytes)
30
31 var player *Player
32 switch getExt(url) {
33 case ".wav":
34 d, err := wav.Decode(&readSeekCloserBuffer{audioBuffer}, SampleRate)
35 if err != nil {
36 return err
37 }
38
39 player, err = newPlayer(d, url)
40 if err != nil {
41 return err
42 }
43 case ".mp3":
44 d, err := mp3.Decode(&readSeekCloserBuffer{audioBuffer}, SampleRate)
45 if err != nil {
46 return err
47 }
48
49 player, err = newPlayer(d, url)
50 if err != nil {
51 return err
52 }
53 case ".ogg":
54 d, err := vorbis.Decode(&readSeekCloserBuffer{audioBuffer}, SampleRate)
55 if err != nil {
56 return err
57 }
58
59 player, err = newPlayer(d, url)
60 if err != nil {
61 return err
62 }
63 }
64
65 a.audios[url] = player
66 return nil
67}
68
69// Load removes the preloaded audio file from the cache
70func (a *audioLoader) Unload(url string) error {

Callers

nothing calls this directly

Calls 5

DecodeFunction · 0.92
DecodeFunction · 0.92
DecodeFunction · 0.92
newPlayerFunction · 0.85
getExtFunction · 0.70

Tested by

no test coverage detected