123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- namespace Qcloud\Sms;
- use Qcloud\Sms\SmsSenderUtil;
- class VoiceFileUploader
- {
- private $url;
- private $appid;
- private $appkey;
- private $util;
- const WAV = "audio/wav";
- const MP3 = "audio/mpeg";
-
- public function __construct($appid, $appkey)
- {
- $this->url = "https://cloud.tim.qq.com/v5/tlsvoicesvr/uploadvoicefile";
- $this->appid = $appid;
- $this->appkey = $appkey;
- $this->util = new SmsSenderUtil();
- }
-
- public function upload($fileContent, $contentType)
- {
- assert($contentType == self::WAV || $contentType == self::MP3);
- $random = $this->util->getRandom();
- $curTime = time();
- $fileSha1Sum = $this->util->sha1sum($fileContent);
- $auth = $this->util->calculateAuth($this->appkey, $random,
- $curTime, $fileSha1Sum);
- $req = new \stdClass();
- $req->url = $this->url . "?sdkappid=" . $this->appid
- . "&random=" . $random . "&time=" . $curTime;
- $req->body = $fileContent;
- $req->headers = array(
- "Content-Type: " . $contentType,
- "x-content-sha1: " . $fileSha1Sum,
- "Authorization: " . $auth
- );
- return $this->util->fetch($req);
- }
- }
|