|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.tencent.av.sdk.AVContext
public class AVContext
AVContext表示SDK音视频通话的上下文。
AVContext集中管理着SDK运行时的工作线程及各种工作对象的创建和销毁。
同时,AVContext提供了一系列的接口,通过这些接口可以获取SDK运行时的各种对象。
要进行音视频会话必须先创建AVContext对象。AVContext提供一个静态方法CreateContext()来创建一个新的AVContext对象。
调用startContext()方法可以启动AVContext对象,启动成功之后就可以进行其他操作了。
App退出或关闭音视频会话时,需要调用stopContext()方法停止SDK以释放资源。
AVContext对象支持反复创建多次音视频通话。
Nested Class Summary | |
---|---|
static class |
AVContext.Config
创建AVContext所需的配置信息。 |
static class |
AVContext.JNetworkInfo
|
static class |
AVContext.StartContextCompleteCallback
startContext()的回调接口,用来异步返回启动结果。 此接口是和startContext()一起使用的回调函数,用来异步返回执行结果。 |
static class |
AVContext.StopContextCompleteCallback
stopContext()的回调接口,用来异步返回关闭结果。 此接口是和stopContext()一起使用的回调函数,用来异步返回执行结果。 |
Field Summary | |
---|---|
protected int |
nativeObj
|
Constructor Summary | |
---|---|
AVContext()
构造函数 |
Method Summary | |
---|---|
static AVContext |
createContext(AVContext.Config config)
创建一个AVContext的实例。 同步返回结果。该方法返回一个AVContext的实例。 目前AVContext是单实例的,如果已经存在一个AVContext实例,再次调用CreateContext()的时候会失败。 |
int |
enterRoom(int roomType,
AVRoom.Delegate roomDelegate,
AVRoom.EnterRoomParam enterRoomParam)
通过房间信息创建房间。 异步返回结果。enterRoom()内部异步执行进入房间的流程。如果房间不存在会创建新房间。如果房间存在,会自动加入。 enterRoom()还会检查传入的参数的有效性,对于不合法的参数会返回错误代码。目前支持创建双人房间和多人房间。 注意,同一时间目前只支持创建一个房间。如果当前AVContext中已经存在一个房间,再次调用enterRoom()会失败。 |
int |
exitRoom()
退出房间。 异步返回结果。exitRoom()内部异步执行退出房间的流程。 只有当房间退出异步完成之后,才能创建新的房间。 异步返回结果通过#enterRoom()时传递的roomDelegate的onExitRoomComplete()返回。 注意:退出房间之后,不代表服务器上的房间被真的销毁。 直到房间内所有人都退出房间,该房间才会被服务器销毁。 目前SDK暂不提供显示销毁服务器房间的方法。 |
AVAudioCtrl |
getAudioCtrl()
获取AVAudioCtrl对象。 同步返回结果。在任意时刻都能获得,与房间的生命周期没有显式的关联。 |
AVRoom |
getRoom()
获取当前AVRoom对象。 同步返回结果。enterRoom()成功之后通过GetRoom()可以获取当前房间对象。 注意:如果进入房间不成功,则GetRoom()操作不会成功。 |
static java.lang.String |
getSDKVersion()
获取SDK版本号。 同步返回结果。 |
AVVideoCtrl |
getVideoCtrl()
获取AVVideoCtrl对象。 同步返回结果。根据视频通道类型返回对应的视频控制器对象。 在任意时刻都能获得,与房间的生命周期没有显式的关联。 |
void |
onDestroy()
销毁AVContext。 同步返回结果。当SDK被关闭时调用,用于释放资源。建议在stopContext()异步回调后调用。 |
void |
onPause()
暂停AVContext工作。 同步返回结果。当然App响应系统OnPause()时,调用此方法,以便SDK暂停相关工作,释放对硬件资源的暂用。 |
void |
onResume()
恢复AVContext工作。 同步返回结果。当然App响应系统OnResume()时,调用此方法,以便SDK恢复相关工作,重新申请硬件资源。 |
void |
setHolder(SurfaceHolder holder)
设置SurfaceView的holder。 |
void |
SetLocalConfigDirectory(java.lang.String pathname)
设置本地配置文件路径。内部使用 |
void |
setRenderFunctionPtr(int renderFunctionPtr)
设置远端视频数据的回调。 |
void |
setRenderMgrAndHolder(GraphicRendererMgr graphicRenderMgr,
SurfaceHolder holder)
设置渲染相关参数。 同步返回结果。目前SDK暂时没有开放渲染方面的接口,App需要使用GraphicRendererMgr完成摄像头、远端视频画面渲染。 这个方法最好在进入房间前调用,如果App需要预览摄像头画面,或者显示远程视频画面。 其中holder主要用于适配Android 3.0前的版本,App需要在界面上提供一个不可以见的holder。 Android 3.0之前的系统,不在提供surfaceHolder,Camera是无法正常启动采集。 注意:不调用此方法,渲染和摄像头无法使用。 |
void |
setTwoSecondReportPath(java.lang.String logpath)
设置两秒上报文件路径,内部使用。 |
int |
startContext(Context context,
AVContext.StartContextCompleteCallback completeCallback)
启动AVContext对象。 异步返回结果。startContext()内部会启动工作线程,创建各种内部对象。 目前SDK暂时需要App指定房间类型,startContext()后,只能对应创建一种类型的房间。 例如startContext()指定房间类型为双人,CreateRoom()也只能创建双人房间。 只有当startContext()异步回调成功之后才能进行其他操作。 |
void |
stopContext(AVContext.StopContextCompleteCallback completeCallback)
关闭AVContext对象。 异步返回结果。stopContext()内部会停止工作线程,销毁各种内部对象。 碰到以下情况,stopContext不会执行: 上一次关闭AVContext对象没有完成。 AVContext对象没有启动成功。 创建房间操作没有完成。 App调用此方法前最好检查一下是否处于上述情况,否则会导致异步回调不触发。 注意:App退出或关闭音视频功能时可以调用stopContext()来关闭AVContext对象。 如果当前已经创建/加入房间,该房间会自动关闭。 App应该等待stopContext()方法完成,再继续退出流程。 一旦stopContext()执行完成,App需要手动销毁该对象。 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int nativeObj
Constructor Detail |
---|
public AVContext()
Method Detail |
---|
public int startContext(Context context, AVContext.StartContextCompleteCallback completeCallback)
context
- Application Context,SDK用于获取系统资源。
AVRoom#AV_ROOM_PAIR
双人通话。AVRoom#AV_ROOM_MULTI
多人通话。completeCallback
- 回调对象,指向App定义的启动回调函数。
AVContext.StartContextCompleteCallback
public void stopContext(AVContext.StopContextCompleteCallback completeCallback)
completeCallback
- 回调对象,指向App定义的关闭回调函数。AVContext.StopContextCompleteCallback
public static AVContext createContext(AVContext.Config config)
config
- 创建AVContext所需的配置信息。public int enterRoom(int roomType, AVRoom.Delegate roomDelegate, AVRoom.EnterRoomParam enterRoomParam)
roomType
- 房间类型。房间类型:双人房间和多人房间。roomDelegate
- 房间委托对象,异步返回结果通过此参数的onEnterRoomComplete()返回。 enterRoomParam
- 进入房间所需的参数。
AVRoom.Delegate
,
AVRoom.EnterRoomParam
public int exitRoom()
public AVRoom getRoom()
public AVAudioCtrl getAudioCtrl()
public AVVideoCtrl getVideoCtrl()
public static java.lang.String getSDKVersion()
public void setTwoSecondReportPath(java.lang.String logpath)
public void onPause()
public void onResume()
public void setRenderMgrAndHolder(GraphicRendererMgr graphicRenderMgr, SurfaceHolder holder)
graphicRenderMgr
- 管理App渲染的管理器。holder
- 用于摄像头采集的SurfaceHolder。public void setRenderFunctionPtr(int renderFunctionPtr)
renderFunctionPtr
- native回调函数地址。public void setHolder(SurfaceHolder holder)
holder
- 用远端视频数据SurfaceHolder。public void onDestroy()
public void SetLocalConfigDirectory(java.lang.String pathname)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |