对接阿里语音合成证书
This commit is contained in:
@@ -17,7 +17,8 @@ import (
|
||||
|
||||
type AliTTS struct {
|
||||
config.AliyunConfig
|
||||
ctx context.Context
|
||||
ctx context.Context
|
||||
tokenResult nls.TokenResult
|
||||
}
|
||||
|
||||
type result struct {
|
||||
@@ -49,10 +50,31 @@ func (tts *AliTTS) Sound(text string) {
|
||||
}
|
||||
}
|
||||
|
||||
func (tts *AliTTS) getToken() error {
|
||||
if tts.tokenResult.ExpireTime != 0 && time.Unix(tts.tokenResult.ExpireTime, 0).After(time.Now()) {
|
||||
return nil
|
||||
}
|
||||
tts.tokenResult = nls.TokenResult{}
|
||||
resultMessage, err := nls.GetToken("cn-shanghai", "nls-meta.cn-shanghai.aliyuncs.com", tts.AccessKeyID, tts.AccessKeySecret, "2019-02-28")
|
||||
if err != nil {
|
||||
return err
|
||||
} else if resultMessage.ErrMsg != "" {
|
||||
return errorsx.ThirdPartyErr
|
||||
}
|
||||
tts.tokenResult = resultMessage.TokenResult
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tts *AliTTS) Get(text string) (io.Reader, error) {
|
||||
param := nls.DefaultSpeechSynthesisParam()
|
||||
param.Volume = 100
|
||||
connectConfig := nls.NewConnectionConfigWithToken(nls.DEFAULT_URL, tts.AppKey, tts.Token)
|
||||
|
||||
err := tts.getToken()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
connectConfig := nls.NewConnectionConfigWithToken(nls.DEFAULT_URL, tts.AppKey, tts.tokenResult.Id)
|
||||
|
||||
logger := nls.NewNlsLogger(leaf.DefaultWriter, "", log.LstdFlags|log.Ltime)
|
||||
logger.SetLogSil(false)
|
||||
|
||||
Reference in New Issue
Block a user