Initial commit.
This commit is contained in:
74
assets/soundbank.go
Normal file
74
assets/soundbank.go
Normal file
@@ -0,0 +1,74 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"log"
|
||||
|
||||
_ "embed"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/mp3"
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/vorbis"
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/wav"
|
||||
)
|
||||
|
||||
type SndAssetName string
|
||||
|
||||
const (
|
||||
MainLoop SndAssetName = "MainLoop"
|
||||
MainLoopMp3 SndAssetName = "MainLoopMp3"
|
||||
MainLoopOgg SndAssetName = "MainLoopOgg"
|
||||
SampleRate = 44100
|
||||
)
|
||||
|
||||
var (
|
||||
//SoundBank map[SndAssetName]*wav.Stream
|
||||
//SoundBankMp3 map[SndAssetName]*mp3.Stream
|
||||
SoundBankOgg map[SndAssetName]*vorbis.Stream
|
||||
//go:embed mainloop.ogg
|
||||
mainloop_snd []byte
|
||||
)
|
||||
|
||||
func init() {
|
||||
LoadSounds()
|
||||
}
|
||||
|
||||
func LoadSounds() {
|
||||
//SoundBank = make(map[SndAssetName]*wav.Stream)
|
||||
//SoundBankMp3 = make(map[SndAssetName]*mp3.Stream)
|
||||
SoundBankOgg = make(map[SndAssetName]*vorbis.Stream)
|
||||
|
||||
//SoundBank[MainLoop] = LoadSoundFatal(SampleRate, hyper_snd)
|
||||
//SoundBankMp3[MainLoopMp3] = LoadSoundFatalMp3(SampleRate, mainloop_snd)
|
||||
SoundBankOgg[MainLoopOgg] = LoadSoundFatalOgg(SampleRate, mainloop_snd)
|
||||
|
||||
}
|
||||
|
||||
func LoadSoundFatal(rate int, obj []byte) *wav.Stream {
|
||||
|
||||
stream, err := wav.DecodeWithSampleRate(rate, bytes.NewReader(obj))
|
||||
if err != nil {
|
||||
log.Fatal("dead, jim")
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
|
||||
func LoadSoundFatalMp3(rate int, obj []byte) *mp3.Stream {
|
||||
|
||||
stream, err := mp3.DecodeWithSampleRate(rate, bytes.NewReader(obj))
|
||||
if err != nil {
|
||||
log.Fatal("dead, jim")
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
|
||||
func LoadSoundFatalOgg(rate int, obj []byte) *vorbis.Stream {
|
||||
|
||||
stream, err := vorbis.DecodeWithSampleRate(rate, bytes.NewReader(obj))
|
||||
if err != nil {
|
||||
log.Fatal("dead, jim")
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
Reference in New Issue
Block a user