|
|
@@ -6,7 +6,6 @@ import (
|
|
|
"bytes"
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
- "github.com/gabriel-vasile/mimetype"
|
|
|
"github.com/google/uuid"
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
|
"io"
|
|
|
@@ -98,30 +97,28 @@ func transcoder(svcCtx *svc.ServiceContext, req *types.CallbackRequest) (resp *t
|
|
|
logx.Errorf("读取silk文件失败 error:", err.Error())
|
|
|
return
|
|
|
}
|
|
|
- defer func() {
|
|
|
- silkFile.Close()
|
|
|
- silk.FileRemove(silkPath)
|
|
|
- }()
|
|
|
_, err = io.Copy(silkFile, resp1.Body)
|
|
|
+ silkFile.Close()
|
|
|
if err != nil {
|
|
|
logx.Errorf("读取文件失败 error:", err.Error())
|
|
|
return
|
|
|
}
|
|
|
+ silkFile, _ = os.Open(silkPath)
|
|
|
+ defer func() {
|
|
|
+ silkFile.Close()
|
|
|
+ silk.FileRemove(silkPath)
|
|
|
+ }()
|
|
|
//判断文件类型,如果不是语音则返回
|
|
|
var isAudio bool
|
|
|
- mtype, _ := mimetype.DetectReader(silkFile)
|
|
|
- if mtype.Is("application/octet-stream") {
|
|
|
- var buf = make([]byte, 10)
|
|
|
- if _, err = silkFile.Read(buf); err == nil {
|
|
|
- if bytes.Equal(buf, []byte{2, 35, 33, 83, 73, 76, 75, 95, 86, 51}) {
|
|
|
- isAudio = true
|
|
|
- }
|
|
|
+ var buf = make([]byte, 10)
|
|
|
+ if _, err = silkFile.Read(buf); err == nil {
|
|
|
+ if bytes.Equal(buf, []byte{2, 35, 33, 83, 73, 76, 75, 95, 86, 51}) {
|
|
|
+ isAudio = true
|
|
|
}
|
|
|
- //读取的游标回到0
|
|
|
- silkFile.Seek(0, 0)
|
|
|
}
|
|
|
+ //读取的游标回到0
|
|
|
+ silkFile.Seek(0, 0)
|
|
|
if !isAudio {
|
|
|
- logx.Errorf("文件类型不是语音 error:", mtype.String())
|
|
|
err = StopTranscoderError
|
|
|
return
|
|
|
}
|