Client.php 2.27 KB
<?php
namespace common\lib\QcloudApi;

use \QcloudApi;

error_reporting(E_ALL ^ E_NOTICE);
require_once dirname(__FILE__).'/QcloudApi.php';

class Client{
    
    static $config = array(
        'SecretId'       => 'AKIDXwq8mqFT479AXttmyBRo8Ebt2ziaqeZs',
        'SecretKey'      => 'mvmxc6Ozu6akckaD9hXFaHFtIeG7dv2s',
        'RequestMethod'  => 'GET',
        'DefaultRegion'  => 'gz'
    );
    
    private $moduleInstance;
    
    /**
     * 实例化自身
     */
	public static function self()
	{
        static $self;
        if (empty($self)){
            $self = new self();
        }
		return $self;
	}
    
    public function __construct()
    {
        $this->moduleInstance = QcloudApi::load(QcloudApi::MODULE_LIVE, self::$config);
    }
    
    public function CreateLVBChannel($channelName,$outputSourceType = 3)
    {
        $cvm = $this->moduleInstance;
        
        $package = array(
            //直播频道的名称
            'channelName'=>$channelName,
            //直播频道描述
            //'channelDescribe'=>$channelName,
            //选择输出源类型(1只有RTMP/flv输出2:只有HLS输出3:有RTMP/FLV HLS输出)
            'outputSourceType'=>$outputSourceType,
            //若使用腾讯云播放器,则是设置默认播放器的密码,设置此密码后点击观看时输入密码才可观看
            //'playerPassword'=>'',
            //直播源列表,每个直播源可以包括类型、名称和地址(限用于拉流)注:目前只支持一个直播源
            'sourceList'=>array(
                ['name'=>'video-1999','type'=>1]
            ),
            //水印ID
            'watermarkId'=>0,
        );
        
        //$url = $cvm->generateUrl('CreateLVBChannel', $package);var_dump($url);exit;
        return $cvm->CreateLVBChannel($package);
    }
    
    public function error()
    {
        $cvm = $this->moduleInstance;
        $error = $cvm->getError();
        /*echo "Error code:" . $error->getCode() . ".\n";
        echo "message:" . $error->getMessage() . ".\n";
        echo "ext:" . var_export($error->getExt(), true) . ".\n";
        
        echo "\nRequest :" . $cvm->getLastRequest();
        echo "\nResponse :" . $cvm->getLastResponse();
        echo "\n";*/
        return $error->getMessage();
    }
}