Update RawDecoder & Support .kwm as .aac

This commit is contained in:
Emmm Monster
2021-05-23 19:59:29 +08:00
parent c836ac7cb5
commit 15e340eac4
4 changed files with 29 additions and 19 deletions

View File

@ -1,17 +1,24 @@
package common
import "errors"
type RawDecoder struct {
file []byte
audioExt string
}
//goland:noinspection GoUnusedExportedFunction
func NewRawDecoder(file []byte) Decoder {
return &RawDecoder{file: file}
}
func (d RawDecoder) Validate() error {
return nil
func (d *RawDecoder) Validate() error {
for ext, sniffer := range snifferRegistry {
if sniffer(d.file) {
d.audioExt = ext
return nil
}
}
return errors.New("audio doesn't recognized")
}
func (d RawDecoder) Decode() error {
@ -27,21 +34,19 @@ func (d RawDecoder) GetAudioData() []byte {
}
func (d RawDecoder) GetAudioExt() string {
return "." + d.audioExt
return d.audioExt
}
func (d RawDecoder) GetMeta() Meta {
return nil
}
func DecoderFuncWithExt(ext string) NewDecoderFunc {
return func(file []byte) Decoder {
return &RawDecoder{file: file, audioExt: ext}
}
}
func init() {
/*RegisterDecoder("mp3", DecoderFuncWithExt("mp3"))
RegisterDecoder("flac", DecoderFuncWithExt("flac"))
RegisterDecoder("wav", DecoderFuncWithExt("wav"))
RegisterDecoder("ogg", DecoderFuncWithExt("ogg"))
RegisterDecoder("m4a", DecoderFuncWithExt("m4a"))*/
RegisterDecoder("mp3", NewRawDecoder)
RegisterDecoder("flac", NewRawDecoder)
RegisterDecoder("ogg", NewRawDecoder)
RegisterDecoder("m4a", NewRawDecoder)
RegisterDecoder("wav", NewRawDecoder)
RegisterDecoder("wma", NewRawDecoder)
RegisterDecoder("aac", NewRawDecoder)
}