Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何从Aws s3传输音频文件(mp3)?_Amazon S3_Audio Streaming - Fatal编程技术网

Amazon s3 如何从Aws s3传输音频文件(mp3)?

Amazon s3 如何从Aws s3传输音频文件(mp3)?,amazon-s3,audio-streaming,Amazon S3,Audio Streaming,我有一个简单的javascript播放器,我想从AWSS3SDK(Php)流式播放音频文件(mp3)。 文件是私有的,因此我也应该进行身份验证 如果我平淡无奇地将mp3文件的公共链接插入html对象的src中,流就会工作 Tnx您不需要通过php后端进行流式处理。您可以使用php代码生成预签名url并将其发送到前端。它将在有限的时间内开放 PHP代码示例: //Creating a presigned request $s3Client = new Aws\S3\S3Client([ '

我有一个简单的javascript播放器,我想从AWSS3SDK(Php)流式播放音频文件(mp3)。 文件是私有的,因此我也应该进行身份验证

如果我平淡无奇地将mp3文件的公共链接插入html对象的src中,流就会工作


Tnx

您不需要通过php后端进行流式处理。您可以使用php代码生成预签名url并将其发送到前端。它将在有限的时间内开放

PHP代码示例:

//Creating a presigned request
$s3Client = new Aws\S3\S3Client([
    'profile' => 'default',
    'region'  => 'us-east-1',
    'version' => '2006-03-01',
]);

$cmd = $s3Client->getCommand('GetObject', [
    'Bucket' => 'my-bucket',
    'Key'    => 'testKey'
]);

$request = $s3Client->createPresignedRequest($cmd, '+20 minutes');
$presignedUrl = (string) $request->getUri();
参考资料:

//Creating a presigned request
$s3Client = new Aws\S3\S3Client([
    'profile' => 'default',
    'region'  => 'us-east-1',
    'version' => '2006-03-01',
]);

$cmd = $s3Client->getCommand('GetObject', [
    'Bucket' => 'my-bucket',
    'Key'    => 'testKey'
]);

$request = $s3Client->createPresignedRequest($cmd, '+20 minutes');
$presignedUrl = (string) $request->getUri();

希望能有帮助