thinkphp5 利用七牛云 将amr格式语音文件转为mp3

$card_id 是我的本地的文件  将问价名字的后缀名去掉

注意access_token的有效期

public function ceshi1($card_id)
{
    $mediaid = substr($card_id, 0, -4);
    $accessKey = config('ACCESSKEY');      //七牛公钥
    $secretKey = config('SECRETKEY');      //七牛私钥
    $auth = new Auth($accessKey, $secretKey);
    $filePath = './radio/' . $card_id;
    $bucket = 'radio';
    //数据处理队列名称,不设置代表不使用私有队列,使用公有队列。
    $pipeline = 'mingpianradio';

    //通过添加'|saveas'参数,指定处理后的文件保存的bucket和key
    //不指定默认保存在当前空间,bucket为目标空间,后一个参数为转码之后文件名
    $savekey = \Qiniu\base64_urlSafeEncode($bucket.':'.$mediaid.'.mp3');
    //设置转码参数
    $fops = "avthumb/mp3/ab/320k/ar/44100/acodec/libmp3lame";
    $fops = $fops.'|saveas/'.$savekey;
    if(!empty($pipeline)){  //使用私有队列
        $policy = array(
            'persistentOps' => $fops,
            'persistentPipeline' => $pipeline
        );
    }else{                  //使用公有队列
        $policy = array(
            'persistentOps' => $fops
        );
    }

    //指定上传转码命令
    $uptoken = $auth->uploadToken($bucket, null, 3600, $policy);
    $key = $mediaid.'.amr'; //七牛云中保存的amr文件名
    $uploadMgr = new UploadManager();

    //上传文件并转码$filePath为本地文件路径
    list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);
    if ($err !== null) {
        return false;
    }else {
        //此时七牛云中同一段音频文件有amr和MP3两个格式的两个文件同时存在
        $bucketMgr = new BucketManager($auth);
        //为节省空间,删除amr格式文件
        $bucketMgr->delete($bucket, $key);
        return $ret['key'];
    }
}

转载于:https://my.oschina.net/u/3853452/blog/3003162

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值