全部产品
视频直播

观众端(或副麦)

更新时间:2017-09-04 13:56:17   分享:   

AlivcVideoChatParter的接口和事件通知

接口名称 功能描述
startToPlay 开始观看直播
stopPlaying 结束观看直播
reconnect 重新打开视频
onlineChat 开始单人连麦
onlineChats 开始多人连麦
addChats 添加连麦
removeChats 移除连麦
offlineChat 结束连麦
setPlayerParam 设置播放参数
switchCamera 切换前后摄像头
zoomCamera 缩放摄像头
focusCameraAtAdjustedPoint 聚焦摄像头到某个位置
setFilterParam 设置滤镜参数
getPublisherPerformanceInfo 获取推流性能参数
getPlayerPerformanceInfo 获取连麦后播放性能参数
publisherMuteMode 推流是否静音
pause 暂停播放或连麦
resume 恢复播放或连麦
getSDKVersion 获取SDK版本号
事件通知 内容描述
AlivcVideoChatMemoryPool 内存不足
AlivcVideoChatPublisherOpenFailed 推流端打开失败。可能是网络未连接或推流地址错误
AlivcVideoChatPublisherSendDataTimeout 推流端发送数据超时
AlivcVideoChatPublisherNetworkPool 推流端网络差
AlivcVideoChatPublisherVideoCaptureDisabled 视频采集被禁止
AlivcVideoChatPublisherAudioCaptureDisabled 音频采集被禁止
AlivcVideoChatPublisherAudioCaptureError 音频采集失败(如电话中断)
AlivcVideoChatPublisherVideoEncoderInitFailed 视频端初始化失败
AlivcVideoChatPublisherAudioEncoderInitFailed 音频端初始化失败
AlivcVideoChatPublisherEncodeVideoFailed 推流端视频编码失败
AlivcVideoChatPublisherEncodeAudioFailed 推流端音频编码失败
AlivcVideoChatPlayerOpenFailed 播放器打开失败。可能是网络未连接或播放地址错误
AlivcVideoChatPlayerStartBuffering 播放端缓冲开始
AlivcVideoChatPlayerEndBuffering 播放端缓冲结束
AlivcVideoChatPlayerFirstFrameRender 播放端首帧显示
AlivcVideoChatPlayerReadPacketTimeout 播放端下载数据超时
AlivcVideoChatPlayerNoDisplayViewer 播放端无显示窗口
AlivcVideoChatPlayerInvalidCodec 播放端音视频格式无效


接口的具体描述如下:

startToPlay

  1. -(int) startToPlay:(NSURL*)url view:(UIView*)view;

功能:开始观看直播。调用该函数将启动直播播放器,并播放获取到的直播流。

参数

  • url:直播地址

  • view:直播播放器的渲染窗口

备注:无

stopPlaying

  1. -(int) stopPlaying;

功能:结束观看直播。调用该函数将关闭直播播放器,并销毁所有资源

参数:无

备注:若当前处在连麦状态下,需要先调用offlineChat函数结束连麦,然后在调用该函数结束观看直播。

reconnect

  1. -(int) reconnect:(NSURL*)playerUrl;

功能:当播放视频超时或者遇到网络切换断流时,调用此函数进行重新连接打开

参数

playerUrl,指定重新连接的播放地址

备注:此函数不会有黑屏的情况,相比于startPlaying

onlineChat

  1. -(int) onlineChat:(NSString*)publisherUrl width:(int)width height:(int)height
  2. preview:(UIView*)preview publisherParam:(NSDictionary*)publisherParam
  3. playerUrl:(NSURL*)playerUrl;

功能:开始单人连麦。调用该函数将开启音视频的采集设备、启动预览功能、启动音视频编码功能并将压缩后的音视频流上传。同时将播放地址切换到具备短延时功能的新地址。

参数

  • publisherUrl:连麦时推流的地址

  • playerUrl:连麦时切换到的短延时播放地址

  • width,height:编码视频的宽和高

  • preview:连麦时推流的预览窗口

  • publisherParam:连麦时推流的参数。使用NSDictionary的方式,以便于后续的扩展。目前可以设置的参数如下:(与类AlivcVideoChatHost中接口函数prepareToPublish的参数publisherParam相同)

    • ALIVC_PUBLISHER_PARAM_UPLOADTIMEOUT 推流上传超时时间,单位ms,默认
    • ALIVC_PUBLISHER_PARAM_CAMERAPOSITION 选择前后摄像头,枚举成员:cameraPositionFront = 0,cameraPositionBack = 1。默认前置。
    • ALIVC_PUBLISHER_PARAM_LANDSCAPE 推流横屏/竖屏,NO为竖屏,YES为竖竖。默认竖屏。
    • ALIVC_PUBLISHER_PARAM_MAXBITRATE 推流最大码率,单位Kbps。默认1500。
    • ALIVC_PUBLISHER_PARAM_MINBITRATE 推流最小码率,单位Kbps。默认200。
    • ALIVC_PUBLISHER_PARAM_ORIGINALBITRATE 推流初始码率,单位Kbps。默认500。
    • ALIVC_PUBLISHER_PARAM_AUDIOSAMPLERATE 推流音频采样率,单位Hz。固定32000,暂不可调。
    • ALIVC_PUBLISHER_PARAM_AUDIOBITRATE 推流音频码率,单位Kbps。固定96,暂不可调。
    • ALIVC_PUBLISHER_PARAM_FRONTCAMERAMIRROR 前置摄像头是否镜像。

备注:目前视频编码采用的是软编码,软编码条件下只支持两种分辨率:360x640、480x848(横屏推流的时候为640x360、848x480)。

onlineChats

  1. -(int) onlineChats:(NSString*)publisherUrl width:(int)width height:(int)height preview:(UIView*)preview publisherParam:(NSDictionary*)publisherParam hostPlayUrl:(NSURL*)hostPlayUrl playerUrls:(NSArray*)playerUrls playerViews:(NSArray*)playerViews;

功能:开始多人连麦。调用该函数将开启音视频的采集设备、启动预览功能、启动音视频编码功能并将压缩后的音视频流上传。同时将播放地址切换到具备短延时功能的新地址,并且播放其他连麦中的流。

参数

  • publisherUrl:连麦时推流的地址

  • width,height:编码视频的宽和高

  • preview:连麦时推流的预览窗口

  • publisherParam:连麦时推流的参数。使用NSDictionary的方式,以便于后续的扩展。目前可以设置的参数如下:(与类AlivcVideoChatHost中接口函数prepareToPublish的参数publisherParam相同)

    • ALIVC_PUBLISHER_PARAM_UPLOADTIMEOUT 推流上传超时时间,单位ms,默认
    • ALIVC_PUBLISHER_PARAM_CAMERAPOSITION 选择前后摄像头,枚举成员:cameraPositionFront = 0,cameraPositionBack = 1。默认前置。
    • ALIVC_PUBLISHER_PARAM_LANDSCAPE 推流横屏/竖屏,NO为竖屏,YES为竖竖。默认竖屏。
    • ALIVC_PUBLISHER_PARAM_MAXBITRATE 推流最大码率,单位Kbps。默认1500。
    • ALIVC_PUBLISHER_PARAM_MINBITRATE 推流最小码率,单位Kbps。默认200。
    • ALIVC_PUBLISHER_PARAM_ORIGINALBITRATE 推流初始码率,单位Kbps。默认500。
    • ALIVC_PUBLISHER_PARAM_AUDIOSAMPLERATE 推流音频采样率,单位Hz。固定32000,暂不可调。
    • ALIVC_PUBLISHER_PARAM_AUDIOBITRATE 推流音频码率,单位Kbps。固定96,暂不可调。
    • ALIVC_PUBLISHER_PARAM_FRONTCAMERAMIRROR 前置摄像头是否镜像。
  • hostPlayUrl:主播播放短延时地址

  • playerUrls:其他连麦流的地址,NSURL数组

  • playerViews:其他连麦流播放显示的窗口,UIView数组

返回值: 0表示成功;非0表示失败

备注:目前视频编码采用的是软编码,多人连麦建议使用180x320分辨率(横屏推流的时候为320x180)

addChats

  1. -(int) addChats:(NSArray*)playerUrls playerViews:(NSArray*)playerViews;

功能:增加连麦人数。在此之前,主播正在当前观众正在连麦。新增的连麦人数可以是一个人,也可以是多个人。

参数

  • playerUrls:其他连麦流的地址,NSURL数组

  • playerViews:其他连麦流播放显示的窗口,UIView数组

返回值: 0表示成功;非0表示失败

备注:必须调用函数onlineChats后才能调用该函数。playerUrls的个数和playerViews的个数必须相同。

removeChats

  1. -(int) removeChats:(NSArray*)playerUrls;

功能:减少连麦人数。在此之前,主播正在当前观众连麦。减少的连麦人数可以是一个人,也可以是多个人

参数

playerUrls:其他连麦流的地址,NSURL数组

返回值: 0表示成功;非0表示失败

备注:必须调用函数onlineChats后才能调用该函数

offlineChat

  1. -(int) offlineChat;

功能:结束连麦。调用该函数将结束观众的推流,销毁推流的所有资源,并将播放地址切换到连麦之前的地址。

参数:无

返回值: 0表示成功;非0表示失败

备注:无

pause

  1. -(void) pause;

功能:暂停播放或连麦。在播放或连麦过程中,观众如果退入后台、锁屏或有电话接入,可以调用本接口。此时,观众可以推送或播放音频(若在打电话,则音频也不推送或播放),只需要在app的Capablities中打开Background Mode选项,选中Audio, AirPlay and Picture in Picture。若不选中上述选项,则不会推送或播放音频。

参数:无

返回值:无

**备注:无

resume

  1. -(void)resume;

功能:恢复推流或连麦。在观看或连麦过程中,观众如果发生退入后台、锁屏或有电话接入的情况,希望能够回到前台继续播放或推流,可以调用本接口。。

参数:无

返回值:无

备注:必须先调用pause,然后才能调用resume

setPlayerParam

  1. -(void) setPlayerParam:(NSDictionary*)playerParam;

功能:设置播放器相关的配置参数

参数

playerParam:播放器相关的配置参数。使用NSDictionary的方式,以便于后续的扩展。目前可以设置的参数如下:

  • ALIVC_PLAYER_PARAM_DOWNLOADTIMEOUT: 播放器缓冲超时时间,单位ms。默认15000。
  • ALIVC_PLAYER_PARAM_DROPBUFFERDURATION: 播放器开始丢帧阈值,单位ms。连麦过程中默认值为1000,非连麦过程中默认值为8000。
  • ALIVC_PLAYER_PARAM_SCALINGMODE: 播放器显示模式,目前支持2种。枚举成员scalingModeAspectFit = 0,代表等比例缩放,若显示窗口宽高比与视频不同则会有黑边;scalingModeAspectFitWithCropping = 1,代表带切边的等比例缩放,若显示窗口宽高比与视频不同,则自动对视频裁边以撑满显示窗口。 默认值为1。

备注:与类AlivcVideoChatHost中接口函数setPlayerParam功能与参数设置相同。

switchCamera

  1. - (int) switchCamera;

功能:切换摄像头

参数:无

备注:该函数可以在连麦的过程中随时进行调用

zoomCamera

  1. - (int) zoomCamera:(CGFloat)zoom;

功能:摄像头放大倍率。调用该函数将对当前视频进行光学放大。放大后的视频将显示在预览窗口。

参数

zoom:放大倍率。最小值为1.0,表示不放大;最大值maxZoom与设备本身相关,且上限设置为3.0,即maxZoom = min(maxZoom,3.0)。

备注:该函数仅对后置摄像头有效

focusCameraAtAdjustedPoint

  1. - (int) focusCameraAtAdjustedPoint:(CGPoint)point autoFocus:(BOOL)autoFocus;

功能:聚焦到某个设置的点。调用该函数可以聚焦到预览窗口上人为指定的某个点

参数

  • point:需要聚焦到的点的位置。(0.0,0.0)代表左上角,(1.0,1.0)代表右下角,(0.5,0.5)代表中心点。

  • autofocus:自动聚焦模式。0代表只自动聚焦一次,以后将按照固定的景深来进行聚焦;1代表持续自动聚焦,当拍摄的物体变换时仍然会自动调整景深来聚焦。

备注:无

setFilterParam

  1. -(void) setFilterParam:(NSDictionary*)param;

功能:设置滤镜的相关参数

参数

param:滤镜相关的配置参数。使用NSDictionary的方式,以便于后续的扩展。目前只有一个美颜的滤镜,可以设置的参数如下:

  • ALIVC_FILTER_PARAM_BEAUTY_ON:美颜是否开启

  • ALIVC_FILTER_PARAM_BEAUTY_WHITEN:美白程度[0,100]

  • ALIVC_FILTER_PARAM_BEAUTY_BUFFING:磨皮程度[0,35]

备注:该函数可以在连麦过程中随时进行调用

getPublisherPerformanceInfo

  1. -(AlivcPublisherPerformanceInfo*) getPublisherPerformanceInfo;

功能:获得与推流相关的性能参数

参数:无

返回值:推流性能参数。具体如下:(与类AlivcVideoChatHost中相同)

  • audioEncodedBitrate: 音频编码速度,单位Kbps
  • videoEncodedBitrate: 视频编码速度,单位Kbps
  • audioUploadedBitrate: 音频上传速度,单位kbps
  • videoUploadedBitrate: 视频上传速度,单位kbps
  • audioPacketsInBuffer: 缓冲的音频帧数
  • videoPacketsInBuffer: 缓冲的视频帧数
  • videoEncodedFps: 视频编码帧率
  • videoUploadedFps: 视频上传帧率
  • videoCaptureFps: 视频采集帧率
  • videoEncoderParamOfBitrate: 当前视频编码器的设置码率,单位kbps
  • currentlyUploadedVideoFramePts: 当前上传的视频帧的pts,单位ms
  • currentlyUploadedAudioFramePts: 当前上传的音频帧的pts,单位ms
  • previousKeyframePts: 上一个关键帧的pts,单位ms
  • totalFramesOfEncodedVideo: 视频编码总帧数
  • totalTimeOfEncodedVideo: 视频编码总耗时,单位ms
  • totalSizeOfUploadedPackets: 上传的音视频流总量,单位Kbyte
  • totalTimeOfPublishing: 当前推流的总时间,单位ms
  • totalFramesOfVideoUploaded: 上传的视频帧总数
  • dropDurationOfVideoFrames: 视频丢帧的累计时长,单位ms
  • audioDurationFromCaptureToUpload: 当前音频帧从采集到上传的耗时,单位ms
  • videoDurationFromCaptureToUpload: 当前视频帧从采集到上传的耗时,单位ms

getPlayerPerformanceInfo

  1. -(AlivcPlayerPerformanceInfo*) getPlayerPerformanceInfo:(NSURL*)url;

功能:获得与播放相关的性能参数

参数:指定播放url的性能参数

返回值:播放性能参数。具体如下:(与类AlivcVideoChatHost中相同)

  • videoPacketsInBuffer: 缓冲的视频帧数
  • audioPacketsInBuffer: 缓冲的音频帧数
  • videoDurationFromDownloadToRender: 视频从下载到播放的耗时,单位ms
  • audioDurationFromDownloadToRender: 音频从下载到播放的耗时,单位ms
  • videoPtsOfLastPacketInBuffer: 缓冲区中最后一帧视频的pts
  • audioPtsOfLastPacketInBuffer: 缓冲区中最后一帧音频的pts
  • packetDownloadSpeed: packets的下载速度

publisherMuteMode

  1. BOOL publisherMuteMode;

功能**:设置推流端的静音模式,仅在连麦过程中使用。

参数:无

备注:无

getSDKVersion

  1. - (NSString *) getSDKVersion;

功能:获取版本信息

参数:无

返回值:版本号

本文导读目录
本文导读目录
以上内容是否对您有帮助?