【问题标题】:Amazon AWS Polly ignores VoiceId - Javascript SDKAmazon AWS Polly 忽略 VoiceId - Javascript 开发工具包
【发布时间】:2018-08-31 18:16:01
【问题描述】:

我已集成我的 Javascript AWS 开发工具包,并在没有服务器的情况下向 API 发送请求。一切正常,但问题是,端点“忽略”了 VoiceId。

问题:端点总是返回带有 VoiceID 'Ivy' 的 mp3。

voice 例如我发Justin

JS

   getVoice(text, voice) {

   let awsCredentials = new AWS.Credentials("XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX");
   let settings = {
       awsCredentials: awsCredentials,
       awsRegion: "us-west-2",
       pollyVoiceId: voice,
       cacheSpeech: false
   }

   AWS.config.credentials = settings.awsCredentials;
   AWS.config.region = settings.awsRegion;

   let speechfile = new Promise(function (successCallback, errorCallback) {
        var polly = new AWS.Polly();
        var params = {
            OutputFormat: 'mp3',
            TextType: "ssml",
            Text: text,
            VoiceId: settings.pollyVoiceId
        }
        polly.synthesizeSpeech(params, function (error, data) {
            if (error) {
                errorCallback(error)
            } else {
                let audiostream = data.AudioStream;
                successCallback(audiostream);
            }
        });
    });
    return speechfile;
 }

【问题讨论】:

    标签: aws-sdk amazon-polly


    【解决方案1】:

    发现问题。我的服务中不允许使用 var 'voice'。

     getVoice(text, currentVoice) {
    
       let voi = currentVoice;
    
    
       let awsCredentials = new AWS.Credentials("xxxxxxxxxx", "xxxxxxxx");
       let settings = {
           awsCredentials: awsCredentials,
           awsRegion: "us-west-1",
           cacheSpeech: false
       }
    
       AWS.config.credentials = settings.awsCredentials;
       AWS.config.region = settings.awsRegion;
    
       let speechfile = new Promise(function (successCallback, errorCallback) {
            var polly = new AWS.Polly();
            var params = {
                LanguageCode: "en-US",
                OutputFormat: 'mp3',
                TextType: "ssml",
                Text: text,
                VoiceId: voi
            }
            polly.synthesizeSpeech(params, function (error, data) {
                if (error) {
                    errorCallback(error)
                } else {
                    //alert(text + data.AudioStream);
                    let audiostream = data.AudioStream;
                    successCallback(audiostream);
                }
            });
        });
        return speechfile;
        // end getVoice
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-18
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-01-09
      相关资源
      最近更新 更多