diff --git a/global/codec/codec.go b/global/codec/codec.go index 6e20146..730f001 100644 --- a/global/codec/codec.go +++ b/global/codec/codec.go @@ -29,6 +29,10 @@ func EncodeToSilk(record []byte, tempName string, useCache bool) (silkWav []byte // 2.转换pcm pcmPath := path.Join(silkCachePath, tempName+".pcm") cmd := exec.Command("ffmpeg", "-i", rawPath, "-f", "s16le", "-ar", "24000", "-ac", "1", pcmPath) + if Debug { + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + } if err = cmd.Run(); err != nil { return nil, errors.Wrap(err, "convert pcm file error") } diff --git a/global/codec/codec_unsupportedarch.go b/global/codec/codec_unsupported.go similarity index 62% rename from global/codec/codec_unsupportedarch.go rename to global/codec/codec_unsupported.go index 04c4aef..f991f95 100644 --- a/global/codec/codec_unsupportedarch.go +++ b/global/codec/codec_unsupported.go @@ -1,5 +1,5 @@ -//go:build (!arm && !arm64 && !amd64 && !386) || race -// +build !arm,!arm64,!amd64,!386 race +//go:build (!arm && !arm64 && !amd64 && !386) || race || (!windows && !linux && !darwin) || (windows && arm) +// +build !arm,!arm64,!amd64,!386 race !windows,!linux,!darwin windows,arm package codec diff --git a/global/codec/codec_unsupportedos.go b/global/codec/codec_unsupportedos.go deleted file mode 100644 index f7f51a4..0000000 --- a/global/codec/codec_unsupportedos.go +++ /dev/null @@ -1,16 +0,0 @@ -//go:build !windows && !linux && !darwin -// +build !windows,!linux,!darwin - -package codec - -import "errors" - -// EncodeToSilk 将音频编码为Silk -func EncodeToSilk(record []byte, tempName string, useCache bool) ([]byte, error) { - return nil, errors.New("not supported now") -} - -// RecodeTo24K 将silk重新编码为 24000 bit rate -func RecodeTo24K(data []byte) []byte { - return data -} diff --git a/global/codec/codec_windows_arm.go b/global/codec/codec_windows_arm.go deleted file mode 100644 index 5cfcfc7..0000000 --- a/global/codec/codec_windows_arm.go +++ /dev/null @@ -1,13 +0,0 @@ -package codec - -import "errors" - -// EncodeToSilk 将音频编码为Silk -func EncodeToSilk(record []byte, tempName string, useCache bool) ([]byte, error) { - return nil, errors.New("not supported now") -} - -// RecodeTo24K 将silk重新编码为 24000 bit rate -func RecodeTo24K(data []byte) []byte { - return data -} diff --git a/global/codec/stubs.go b/global/codec/stubs.go new file mode 100644 index 0000000..9821aa3 --- /dev/null +++ b/global/codec/stubs.go @@ -0,0 +1,4 @@ +package codec + +// Debug mode controls the ffmpeg output. +var Debug bool diff --git a/main.go b/main.go index 52f3da2..20fc5b1 100644 --- a/main.go +++ b/main.go @@ -19,6 +19,7 @@ import ( "github.com/Mrs4s/go-cqhttp/coolq" "github.com/Mrs4s/go-cqhttp/global" + "github.com/Mrs4s/go-cqhttp/global/codec" "github.com/Mrs4s/go-cqhttp/global/config" "github.com/Mrs4s/go-cqhttp/global/terminal" "github.com/Mrs4s/go-cqhttp/global/update" @@ -79,6 +80,7 @@ func main() { } if conf.Output.Debug { log.SetReportCaller(true) + codec.Debug = true } logFormatter := &easy.Formatter{