Uses of Package
com.tencent.av.sdk

Classes in com.tencent.av.sdk used by com.tencent.av.sdk
AVAudioCtrl
          AVAudioCtrl表示音频控制器,主要用于简化音频设备控制。
通过AVAudioCtrl,您可以控制麦克风、扬声器,获取设备音量。
方法中涉及到的音量,全部为App内部的音量,和操作系统的音量没有联系。
在SDK正常启动之后,可以通过AVContext的GetAudioCtrl()来获取AVAudioCtrl对象。
另外需要注意的是,当App被切到后台,需要暂停SDK,否则会导致无法接触对系统资源的占用。
AVAudioCtrl.AudioFrame
          单帧音频数据。
AVAudioCtrl.AudioFrameDesc
          音频数据格式。
AVAudioCtrl.Delegate
          AVAudioCtrl的委托类,主要用于通知输出设备变化。
AVAudioCtrl.RegistAudioDataCompleteCallback
          音频数据回调函数定义。
通过回调函数,来通知外部读取或者写入具体类型的音频数据。
对于输入音频数据,AudioFrame.data指向数据缓冲区, 用户将音频数据写入缓冲区, AudioFrame.dataLen表示数据缓冲区总大小, 用户需改写为输入音频数据实际大小。
回调处理要求是非阻塞的,SDK回调时间间隔稳定在20ms左右, 在回调中阻塞过长时间会导致声音异常等问题。
SDK通过回调返回值来判断数据处理是否成功输。处理成功请返回 AVError.AV_OK,否则返回 AVError.AV_ERR_FAILED。
AVContext
          AVContext表示SDK音视频通话的上下文。
AVContext集中管理着SDK运行时的工作线程及各种工作对象的创建和销毁。
同时,AVContext提供了一系列的接口,通过这些接口可以获取SDK运行时的各种对象。
要进行音视频会话必须先创建AVContext对象。AVContext提供一个静态方法CreateContext()来创建一个新的AVContext对象。
调用startContext()方法可以启动AVContext对象,启动成功之后就可以进行其他操作了。
App退出或关闭音视频会话时,需要调用stopContext()方法停止SDK以释放资源。
AVContext对象支持反复创建多次音视频通话。
AVContext.Config
          创建AVContext所需的配置信息。
AVContext.StartContextCompleteCallback
          startContext()的回调接口,用来异步返回启动结果。
此接口是和startContext()一起使用的回调函数,用来异步返回执行结果。
AVContext.StopContextCompleteCallback
          stopContext()的回调接口,用来异步返回关闭结果。
此接口是和stopContext()一起使用的回调函数,用来异步返回执行结果。
AVEndpoint
          AVEndpoint表示房间成员。
房间成员由房间动态创建和销毁,应用层无法直接创建房间成员,只能通过查询房间成员的方式获取成员对象引用。
注意:不建议应用程序缓存获得的成员对象引用,即显式地把成员对象引用保存到另一个容器。
这是由于随着成员加入和退出房间,房间内部会创建和销毁成员对象,这会导致缓存的引用失效。 任何时候,应该由房间提供的接口来获取成员对象。
当然,有时候为了简化代码,应用层还是需要保存一些必要信息方便进行操作,推荐您在响应房间成员变化的同时,把需要的信息复制到自己的容器,
例如保存成员id。
AVEndpoint.CancelAllViewCompleteCallback
          cancelAllView()的回调函数,用来异步返回结果。 与requestViewList配合使用。
AVEndpoint.Info
          房间成员信息.
由SDK初始化对象各个字段值,app可以通过此对象获取相关信息,
AVEndpoint.RequestViewListCompleteCallback
          requestViewList()的回调函数,用来异步返回结果。
与requestViewList配合使用。
AVRoom
          AVRoom表示一次音视频会话,所有房间的抽象类。
SDK致力于提供更良好的音视频体验,因此在不同场景下采用特定的策略进行优化:
当房间只有两个人时,无须服务器中转,建立直连即可可完成音视频通话。 当房间人数大于两个人时,情况就会变得相对复杂。 当房间人数大于1000时,服务器的架构也会变得复杂。 目前,SDK对应不同的用户场景,设计了双人、多人两类房间。
推荐您在创建房间前,对照用户场景和需求选择合适的房间类型,以保证更好的通话质量。
AVRoom作为所有房间的基类,提供最基本的接口,包括房间自身状态通知、房间信息查询。
AVRoom.Delegate
          房间最基本的委托类。
AVRoom.EnterRoomParam
          进入房间所需的参数基类。
通过AVContext.enterRoom方法进房间时使用。
app根据进房间类型,传入对应子类类型
AVRoom.Info
          房间配置信息。
room_id和relation_id并不是等价的,room_id是在房间创建成功后由服务器动态生成。
您可以认为relation_id是一次多人会话的标识。
假设A先创建一个多人房间,不退出房间,B使用和A相同的relation_id的创建房间,最终会进入同一个房间。
换句话说,同一个多人房间的有效生命周期内,relation_id会对应同一个room_id。
当创建双人房间时,Info初始化示例如下:
AVVideoCtrl
          AVVideoCtrl表示视频控制器,主要用于简化视频设备控制。
通过AVVideoCtrl,您可以控制摄像头。
在SDK正常启动之后,可以通过AVContext的GetAVVideoCtrl()来获取AVAVVideoCtrl对象。
另外需要注意的是,当App被切到后台,需要暂停SDK,否则会导致无法接触对系统资源的占用。
AVVideoCtrl.EnableCameraCompleteCallback
          enableCamera()的回调函数,用来异步返回开启/关闭摄像头结果。
AVVideoCtrl.EnableExternalCaptureCompleteCallback
          EnableExternalCapture()的回调函数,用来异步返回开启/关闭摄像头结果。
AVVideoCtrl.LocalVideoPreviewCallback
          setLocalVideoPreviewCallback()方法设置的回调函数。
AVVideoCtrl.RemoteScreenVideoPreviewCallback
          setRemoteScreenVideoPreviewCallback()方法设置的回调函数。
AVVideoCtrl.RemoteVideoPreviewCallback
          setRemoteVideoPreviewCallback()方法设置的回调函数。
AVVideoCtrl.SwitchCameraCompleteCallback
          switchCamera()的回调函数,用来异步返回切换摄像头结果。
AVVideoCtrl.VideoFrame
           
AVView
          视频画面参数。
1.0.0版本App只需要关心videoSrcType,其他参数不用赋值。