# 影音播放
功能简介:
把本地的一个视频文件播放给房间内其他用户观看,播放进度完全由播放端控制。
影音播放功能介绍分为播放端和观看端两部分。
注意:一个房间中同一时间只支持进行一个影音播放。支持的影音文件格式有: avi、mov、rmvb、rm、flv、mp4、3gp。
播放端:
观看端:
两端通用的功能:
播放端
1.创建影音播放组件
//首先要创建影音播放显示控件
var g_mediaObj = null; //声明影音播放控件变量
//创建影音播放控件对象
if(g_mediaObj == null){
g_mediaObj = CRVideo_CreatMediaObj();
g_mediaObj.id("mediaObj");
//为控件添加父元素div(例如:其id为mediaContainer), 后面需要布局 、显示、隐藏影音播放控件时直接操作此父元素div
$("#mediaContainer").append(g_mediaObj.handler());
}
相关API请参考:
2.开始播放并观看影音
每次只能播放一个视频,停止正在播放的视频才能播放下一个视频。通过设置播放配置,还可以控制房间内其他人看到的效果。
- 接口调用:
/*
*开始播放影音分为2步:
*/
// 1.配置影音播放参数
var cfg = {
"size":"1920*1280", //指1920*1080,
"fps":12 //帧率
};
CRVideo_SetMediacfg(cfg)
//2.开始播放影音
CRVideo_StartPlayMedia("D:/1.mp4",0)
- 观看影音需要监听以下的回调通知:
//观看端和播放端都会收到开始播放影音的通知。 此时显示影音播放组件,即可观看影音
CRVideo_NotifyMediaStart.callback = function(userid){
$("#mediaContainer").css({"display":"block","left":"72px","top":"7px","width":"544px","height":"306px"})
g_mediaObj.width(544);
g_mediaObj.height(306);
}
相关API请参考:
相关结构定义请参考:
3.设置播放进度
可以通过拖动播放组件上的工具条来调整播放进度,也可以用代码来设置播放进度。
- 调用接口:
// 设置播放进度,单位:毫秒.例如:设置到2秒处.
CRVideo_SetMediaplaypos(2000)
相关API请参考:
4.暂停、停止播放
- 调用接口:
// 暂停或恢复播放影音
CRVideo_PausePlayMedia(true); // ture为暂停,false为恢复
//停止播放影音
CRVideo_StopPlayMedia()
- 回调通知:
注意:主动调用CRVideo_StopPlayMedia停止播放,或者影音文件播放到结尾,都会触发事件CRVideo_NotifyMediaStop,房间内所有人都会收到。
//媒体暂停播放通知
CRVideo_NotifyMediaPause.callback = function(userid,pause){
}
//影音停止播放通知,观看端和播放端都会收到此通知。reason 为停止原因,详见参考CRVideo_MEDIA_STOP_REASON
CRVideo_NotifyMediaStop.callback = function(userid, reason)
{
//此时可以隐藏影音显示组件
$("#mediaContainer").hide();
}
相关API请参考:
相关结构定义请参考:
观看端:
1.创建影音播放组件
//首先要创建影音播放显示控件
var g_mediaObj = null; //声明影音播放控件变量
//创建影音播放控件对象
if(g_mediaObj == null){
g_mediaObj = CRVideo_CreatMediaObj();
g_mediaObj.id("mediaObj");
//为控件添加父元素div(例如:其id为mediaContainer), 后面需要布局 、显示、隐藏影音播放控件时直接操作此父元素div
$("#mediaContainer").append(g_mediaObj.handler());
}
相关API请参考:
2.观看影音
//观看端和播放端都会收到开始播放影音的通知。 此时显示影音播放组件,即可观看影音
CRVideo_NotifyMediaStart.callback = function(userid){
$("#mediaContainer").css({"display":"block","left":"72px","top":"7px","width":"544px","height":"306px"})
g_mediaObj.width(544);
g_mediaObj.height(306);
}
相关API请参考:
3.影音停止播放通知
//影音停止播放通知,观看端和播放端都会收到此通知。reason 为停止原因,详见参考CRVideo_MEDIA_STOP_REASON
CRVideo_NotifyMediaStop.callback = function(userid, reason)
{
//此时可以隐藏影音显示组件
$("#mediaContainer").hide();
}
两端通用的功能:
文件列表、播放信息、播放音量
- 调用接口:
// 取得播放路径下的所有可播放文件
var allFilesInMediaPaths = CRVideo_GetAllFilesInMediaPath()
// 取得影音文件信息
var mediaInfo = CRVideo_Getmediainfo(UID)
//设置本地扬声器音量,0~255,值越大,音量越大
var setRst = CRVideo_SetSpeakerVolume(100)
相关API请参考:
相关结构定义请参考: