帮助列表 |
温馨提醒:使用云导播产品系列的api,还未获得授权。请联系官方人员,联系电话:400-663-6063
HTML
<div id="app"></div>
引入js
<script type="text/javascript" src="//cdn.aodianyun.com/static/jquery/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="//cdn.aodianyun.com/lcps-combine/v1/js/comment.js"></script>
配置选项
以下对下列方法的部分信息进行统一说明: params 活动导播台的调用该方法时固定传入的请求参数 后端可视情况使用,前端可根据自身需要修改 具体传入参数详见各方法体 callback 活动导播台回调函数 调用方法成功后后端回传的res数据需以正确格式传入callback 活动导播台使用回传数据方能进行后续动作 若后端返回的数据不符合要求格式,需在方法体内整理成正确格式后再传入callback 具体格式要求详见各方法体 ajax请求结果success 通过回传数据中的flag(状态码)和flagString(状态说明)区分请求结果 flag为100时即正常请求成功,后续动作可正常进行 flag为100以外的数字时即请求结果异常,活动导播台不进行后续动作并弹出显示flagString 当前在活动导播台中对flag只区分100与非100 ajax请求结果error 界面弹出显示“请求失败” 方法的取舍 实际使用中用到的方法需按照文档要求实现 无需实现的方法则保留空方法体即可 如媒资无需实现时: var getMediaList = () => {}
/** * 延时播控开启,根据自身需求修改方法体 * @param {*} params 请求参数 * @param {*} callback 回调函数 */ var delayExtendOpen = (params, callback) => { // params固定参数如下: // { // flowUrl: string; // 活动导播台pgm输出地址,即延时导播台信源 // expiresTime: number; // 活动导播台剩余运行时间(秒) // projectId: string | number; // 延时导播台工程id,不传入则表示新建延时导播台 // sceneWidth: number; // 活动导播台分辨率,宽 // sceneHeight: number; // 活动导播台分辨率,高 // outEnable: boolean; // 延时是否开启输出 // audioBitrate: string; // 音频码率( 如. 128k ) // audioOnly: boolean; // 只输出音频 // enable: boolean; // 是否启用 // publishToLPS: boolean; // 使用LPS推流服务,以支持 5 路以上推流。(提醒:启用会产生LPS费用) // publishURL: string; // 输出流地址 // videoBitrate: string; // 视频码率( 如. 1500k ) // videoCBR: boolean; // 视频固定码率CBR // videoRecord: boolean; // 自动录制到MSS // videoSize: string; // 视频大小( 如. 320x240 / 320x? / ?x240 后2种格式为等比例缩放 ) // ...urlParams; // 延时导播台页面地址url带的参数全部传入,第一次请求无 // } $.ajax({ type: 'POST', url: '请求地址', data: JSON.stringify(params), contentType: "JSON", dataType: 'JSON', async: true, success: function (res) { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // data: { // data: string; // 延时导播台页面地址url // projectId: string | number; // 延时导播台id // } // } if (res格式不符合要求) { res = res格式整理... } callback(res) }, error: function() { callback() } }) } /** * 延时播控关闭,根据自身需求修改方法体 * @param {*} params 请求参数 * @param {*} callback 回调函数 */ var delayExtendClose = (params, callback) => { // params固定参数如下: // { // id: string | number; // 延时导播台id // ...urlParams; // 延时导播台页面地址url带的参数全部传入 // } $.ajax({ type: 'POST', url: '请求地址', data: JSON.stringify(params), contentType: "JSON", dataType: 'JSON', async: true, success: function (res) { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } if (res格式不符合要求) { res = res格式整理... } callback(res) }, error: function() { callback() } }) } /** * 延时播控延期,根据自身需求修改方法体 * @param {*} params 请求参数 * @param {*} callback 回调函数 */ var delayExtendDelay = (params, callback) => { // params固定参数如下: // { // id: string | number; // 延时导播台id // useHours: number; // 延期时间(小时) // ...urlParams; // 延时导播台页面地址url带的参数全部传入 // } $.ajax({ type: 'POST', url: '请求地址', data: JSON.stringify(params), contentType: "JSON", dataType: 'JSON', async: true, success: function (res) { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } if (res格式不符合要求) { res = res格式整理... } callback(res) }, error: function() { callback() } }) } /** * 开启延时导播设置输出信息时调用 * @param {*} params 请求参数 * @param {*} callback 回调函数 */ var delayExtendChangeOutput = (params, callback) => { // params固定参数如下: // { // formatIndex: 0, // 参数值固定 (输出支持多个,但是一般只能用一个,index为0) // notRestart: false // 参数值固定(表示发布列表,可以动态增删,不断流) // audioBitrate: string; // 音频码率( 如. 128k ) // audioOnly: boolean; // 只输出音频 // enable: boolean; // 是否启用 // publishToLPS: boolean; // 使用LPS推流服务,以支持 5 路以上推流。(提醒:启用会产生LPS费用) // publishURL: string; // 输出流地址 // videoBitrate: string; // 视频码率( 如. 1500k ) // videoCBR: boolean; // 视频固定码率CBR // videoRecord: boolean; // 自动录制到MSS // videoSize: string; // 视频大小( 如. 320x240 / 320x? / ?x240 后2种格式为等比例缩放 ) // } $.ajax({ type: 'POST', url: '请求地址', data: JSON.stringify(params), contentType: 'JSON', dataType: 'JSON', async: true, success: function(res) { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } if (res格式不符合要求) { res = res格式整理... } callback(res) }, error: function() { callback() } }) } /** * 活动导播台横竖屏切换时调用 * @param {*} params 请求参数 * @param {*} callback 回调函数 */ var delayExtendSizeChangeOutput = (params, callback) => { // params固定参数如下: // { // id : number // 延时导播台工程 id // sceneWidth : number // 输出分辨率(宽) // sceneHeight : number // 输出分辨率(高) // } $.ajax({ type: 'POST', url: '请求地址', data: JSON.stringify(params), contentType: 'JSON', dataType: 'JSON', async: true, success: function (res) { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } if (res格式不符合要求) { res = res格式整理... } callback(res) }, error: function() { callback() } }) } /** * 自定义延期回调,根据自身需求修改方法体,延期时间(小时)自动传入,成功后会自动调用延时播控的延期方法 delayExtendDelay * @param {*} delayTime 请求参数 */ const delayCustom = (delayTime) => { // delayTime : number // 延期时间(小时) return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } resolve(res) }) } /** * 自定义关闭导播台回调,根据自身需求修改方法体,成功后会跳转到关闭页面 */ const closeCustom = () => { return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } resolve(res) }) } /** * 自定义媒资按钮触发回调,需要设置 mediaBtnCustom 为 ture 来触发,结果返回取媒资地址(data)作为输入框内容 * @param boolean duo 是否多选,true 多选 false 单选 * @param string|null type 触发类型,'pic' 表示场景中的选择图片, null 表示选择媒资 */ const getMediaListCustom = (duo, type) => { return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // text: string, // 媒资标题 // thumbnailData: string, // 媒资封面地址 // data: string; // 媒资地址/场景上传图片地址(单选时返回) // duoData: string[]; // 媒资地址(多选时返回) // } resolve(res) }) } /** * 自定义信源按钮触发回调,需要设置 souBtnCustom 为 ture 来触发,结果返回取信源地址(data)作为输入框内容 */ const getSourceListCustom = () => { return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // data: string; // 信源地址 // } resolve(res) }) } /** * 自定义场景上传图片触发回调,需要设置 upPicCustom 为 ture 来触发,结果返回已上传后的图片地址(data)作为场景中字幕条,比分扳的背景图 */ const getUpPicCustom = () => { return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // data: string; // 图片地址 // } resolve(res) }) } /** * 自定义延期按钮触发回调,需要设置 extendBtnCustom 为 ture 来触发,回调中需要执行导播台延期操作 */ const popExtendCustom = () => { return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } resolve(res) }) } /** * 保存信道输入配置回调 * @param {Object} envConfig 传入参数 */ const setSourceCallback = envConfig => { return new Promise((resolve, reject) => { // res格式要求如下: // { // flag: number; // 状态码,100为成功 // flagString: string; // 状态说明 // } resolve(res) }) } /** * iframe 模式下多选按钮回调 * @param boolean duo 是否多选,true 多选 false 单选 */ const multipleCallback = duo => {} /** * iframe 模式下回显数据回调 * @param '媒资'|'信源' type 类型 * @param {Object} obj 回显数据 */ const previousDataCallback = (type, obj) => {} /** * 使用时长列表(小时):代表按当前导播台结束时间后续添加的使用时间 * 类型:Array<number> ,例如 const delayHourArr = [ 3, 8 ] */ const delayHourArr = [] LCPS.Config({ id: string, // 导播台工程 id,必传 secretKey: string, // 工程秘钥,必传 token: string, // apaas token padCustom: boolean, // 自定义延时模块点击垫片设置,默认为 false ,开启后点击按钮则会调用 getMediaListCustom picBtnCustom: boolean, // 自定义场景中选择图片,默认为 false ,开启后点击按钮则会调用 getMediaListCustom mediaBtnText: string, // 自定义媒资按钮文案,不设置默认为 '上传媒资' mediaBtnCustom: boolean, // 自定义媒资按钮,默认为 false 不显示,开启时会替换原有的选择媒资按钮,点击按钮则会调用 getMediaListCustom getMediaListCustom: null, // 自定义媒资按钮触发回调,如果将 mediaBtnCustom 置为 true ,请实现 souBtnText: string, // 自定义信源按钮文案,不设置默认为 '选择信源' souBtnCustom: boolean, // 自定义信源按钮,默认为 false 不显示,开启时会出现自定义信源按钮和信源输入框,点击按钮则会调用 getSourceListCustom getSourceListCustom: null, // 自定义信源按钮触发回调,如果将 souBtnCustom 置为 true ,请实现 upPicCustom: boolean, // 场景自定义上传图片按钮,默认为 false ,开启时点击按钮则会调用 getUpPicCustom getUpPicCustom: null, // 场景自定义上传图片按钮回调,如果将 upPicCustom 置为 true ,请实现 extendBtnText: string, // 自定义延期按钮文案,不设置默认为 '延期' extendBtnCustom: boolean, // 自定义延期按钮,默认为 false 不显示,开启时会出现自定义延期按钮,点击按钮则会调用 popExtendCustom popExtendCustom: null, // 自定义延期按钮触发回调,如果将 extendBtnCustom 置为 true ,请实现 setSourceCallback: null, // 保存信道输入配置回调,将传入 envConfig 参数,如配置则在保存设置输入后执行 delayHourArr: null, // 自定义导播台延期使用时长的下拉列表 如上 delayHourArr 数组 delayExtendOpen: delayExtendOpen, delayExtendClose: delayExtendClose, delayExtendDelay: delayExtendDelay, delayExtendChangeOutput: delayExtendChangeOutput, delayExtendSizeChangeOutput: delayExtendSizeChangeOutput, delayCustom: null, // 自定义延期回调,默认为空,如果配置方法则在导播台延期时触发并传入具体延期时间(小时) 如上 delayCustom 方法 closeCustom: null, // 自定义关闭回调,默认为空,如果设置方法则在导播台关闭时触发 如上 closeCustom 方法 /* iframe 方式 */ mediaBoxHeight: number, // 媒资 iframe 高度 单位: px sourceBoxHeight: number, // 信源 iframe 高度 单位: px mediaIframe: string, // 媒资 iframe 地址(嵌入替换信道输入设置中选择部分,若配置将忽略回调方式) sourceIframe: string, // 信源 iframe 地址(嵌入替换信道输入设置中选择部分,若配置将忽略回调方式) multipleCallback: null, // 媒资选择中多选按钮触发回调,在 iframe 模式下切换单多选会调用 multipleCallback previousDataCallback: null, // 媒资 和 信源 回显数据回调(在切换流类型时候触发) // 自定义功能模块显示,不配置moduleCustomized时除部分扩展功能则默认全部显示 moduleCustomized: { // 默认输出设置 defaultOutput: { show: boolean // 是否显示 }, // 顶部高级设置按钮 advancedSetting: { show: boolean, // 显示高级设置按钮 fix: boolean, // 修复场景问题 destroy: boolean, // 关闭导播台 delay: boolean, // 延时信息查看 }, // 右侧 tab 切换栏 expansionModule: { defaultTab: "pip", // 默认选中的tab pip: boolean, // 画中画 advance: boolean, // 高级功能 gaslet: boolean, // 垫片 delay: boolean, // 延时模块功能 ( 开启延时模块默认显示延时扩展 ) // 延时播控扩展( 支持 0 - 3600s 内延时,不配置 delayExtend 时默认显示 ) delayExtend: { show: boolean // 是否显示 } }, // 信源流类型选择框 streamOptions: { push: boolean, // Rtmp 推流 qrCode: boolean, // 显示 Rtmp 推流二维码 webrtc: boolean, // WebRTC推流 pull: boolean, // 拉流 source: boolean, // 信源 media: boolean, // 媒资 img: boolean, // 图片 desktop: boolean, // 桌面推流 camera: boolean, // 摄像头 ppt: boolean, // PPT page: boolean // 网页地址 }, // 定时任务模块 extensions: boolean } }) // 初始化 LCPS.Init() // 发送媒资,信源地址数据给导播台(配置嵌入时调用有效) /** * @param { type: 'source' | 'media', data: { id:number , url:string }[] } obj */ // LCPS.setUrl(obj) // 例如 // LCPS.setUrl({ type: 'source', data: 'url-source' }) // LCPS.setUrl({ type: 'media', data: 'url-media' })