我正在尝试向 AWS Polly 发送一些文本以转换为语音,然后将该 mp3 文件保存到 S3。这部分现在似乎起作用了。
// Send text to AWS Polly
$client_polly = new Aws\Polly\PollyClient([
'region' => 'us-west-2',
'version' => 'latest',
'credentials' => [
'key' => $aws_useKey,
'secret' => $aws_secret,
]
]);
$text = 'Test. Test. This is a sample text to be synthesized.';
$voice = 'Matthew';
$result_polly = $client_polly->startSpeechSynthesisTask([
'Text' => $text,
'TextType' => 'text',
'OutputFormat' => 'mp3',
'OutputS3BucketName' => $aws_bucket,
'OutputS3KeyPrefix' => 'files/audio/,
'VoiceId' => $voice,
'ACL' => 'public-read'
]);
echo $result_polly['ObjectURL'];
我还试图完成其他几件事:
使 mp3 文件可公开访问。目前我必须去 AWS 控制台点击“公开”按钮。'ACL' => 'public-read' 似乎对我不起作用
我需要返回 mp3 文件的完整 URL。出于某种原因 $result_polly['ObjectURL']; 没有任何价值。
我错过了什么?