【问题标题】:AWS Polly Text to Downloadable Audio PCM File Not WorkingAWS Polly 文本到可下载的音频 PCM 文件不起作用
【发布时间】:2019-03-07 13:34:37
【问题描述】:

我有一个包含 jquery 和 amazon SDK 的页面。区域框中有用户可以更改的文本。我成功向亚马逊提出请求。我取回 PCM AudioStream (Int16Array)。然后如何将此流转换为可下载的 PCM 文件?文件下载时,文件无用,无法播放。该文件的大小确实大于 0,所以这让我相信那里有数据。

<script>
    AWS.config.region = 'us-east-1';
    AWS.config.accessKeyId = 'CANDY';
    AWS.config.secretAccessKey = 'CANES';
    var polly = new AWS.Polly({apiVersion: '2016-06-10'});

    var params = {
        OutputFormat: 'pcm',
        Text: 'Text from the textbox',
        VoiceId: 'Joey',
        SampleRate: '16000',
        TextType: 'text'
    };

    polly.synthesizeSpeech(params, function(err, data) {
        if (err){
                console.log(err, err.stack); // an error occurred
        } else {
                var stream = new Int16Array(audioStream);
                var arrayBuffer = stream.buffer;
                var blob = new Blob([arrayBuffer], {type: 'audio/pcm'});
                var url = URL.createObjectURL(blob);
                .....set href for link to url.......
        }
    });
</script>

【问题讨论】:

  • 意识到代码在使用 uInt8Array 而不是 Int16Array 时有效(尽管 Amazon API 声明 pcm 是 16 位有符号格式)。我以前都玩过,但意识到我的问题是我没有能够播放文件的媒体播放器。
  • 这可能会有所帮助 - stackoverflow.com/questions/45826745/…

标签: javascript amazon-web-services download pcm amazon-polly


【解决方案1】:

如果您确定 url 对象是正确的(您可以从单独的浏览器选项卡下载它吗?),我会使用 JQuery 来动态更改您的 DOM,按照这个答案How to change the href for a hyperlink using jQuery

【讨论】:

    猜你喜欢
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多