Packageyy
Interfacepublic interface ITempAudioSession extends flash.events.IEventDispatcher

临时语音接口。提供创建房间、加入房间、离开房间以及在房间语音聊天的功能.通过此接口可以跟其他用户建立临时语音聊天通道。注意:用户同一时刻只能在一个房间进行语音聊天 所以在同一个YY上面,同一时刻,最多只有一个应用在使用临时语音。



Public Methods
 MethodDefined By
  
createRoom():Object
创建一个临时语音房间。创建后用户自动进入该房间。在应用的生命周期内,同一个用户只能创建一个房间,第二次调用此函数会返回已经创建的房间的rid。房间中能够发言的人数有限,先要先得,目前暂定为5人。
ITempAudioSession
  
enterRoom(rid:uint):Object
进入一个房间。刚进入时,能听到其他人的语音,但自己暂时不能发言。如果已经在某个房间中,需要调用leaveRoom退出这个房间调用,才能进入另外一个房间。
ITempAudioSession
  
getOwner():Object
正在使用临时语音的应用的AppId,可以用来查询临时语音的占用情况。一个YY上同时只能有一个应用在使用临时语音。
ITempAudioSession
  
getVolume():Object
获取临时语音房间音量。
ITempAudioSession
  
leaveRoom():Object
离开房间。如果房间人数为0,服务器过一段时间后会销毁这个房间。
ITempAudioSession
  
setVolume(vol:int):Object
设置临时语音房间音量。
ITempAudioSession
  
startSpeak():Object
开始语音聊天。调用成功后,自己可以在房间中发言。
ITempAudioSession
  
stopSpeak():Object
禁止语音聊天。调用成功后,自己不能在房间中发言。
ITempAudioSession
Events
 Event Summary Defined By
   说话人数变化事件。当临时语音房间的说话人数发生变化时触发,即当有人调用startSpeak或stopSpeak成功时会触发。 事件信息格式说明: eventData.speakerList: Array类型 当前房间可以说话的人的uid。 ITempAudioSession
   用户进入房间事件。 事件信息格式说明: eventData.rid: uint类型 进入的房间的rid。 eventData.uid: uint类型 进入房间的用户的uid。 ITempAudioSession
   用户离开房间事件。 事件信息格式说明: eventData.rid: uint类型 离开的房间的rid。 eventData.uid: uint类型 离开房间的用户的uid。 ITempAudioSession
Method Detail
createRoom()method
public function createRoom():Object

创建一个临时语音房间。创建后用户自动进入该房间。在应用的生命周期内,同一个用户只能创建一个房间,第二次调用此函数会返回已经创建的房间的rid。房间中能够发言的人数有限,先要先得,目前暂定为5人。

Returns
Object — 返回创建的房间的rid,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

rid: Number类型 创建的房间的id


Example
        使用示例:
        var result:Object = YY.instance.tempAudioSession.createRoom();
        if (result.ret == 0) {
          trace("创建房间成功 rid="+result.rid);
        }
        else
        {
          trace("创建房间失败,错误码ret="+result.ret);
        }
        成功的返回值示例:{ ret:0,rid:344556t6}
        失败的返回值示例:{ ret:984832}
         
enterRoom()method 
public function enterRoom(rid:uint):Object

进入一个房间。刚进入时,能听到其他人的语音,但自己暂时不能发言。如果已经在某个房间中,需要调用leaveRoom退出这个房间调用,才能进入另外一个房间。

Parameters

rid:uint — 要进入的房间的rid。

Returns
Object — 返回调用是否成功,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

See also

getOwner()method 
public function getOwner():Object

正在使用临时语音的应用的AppId,可以用来查询临时语音的占用情况。一个YY上同时只能有一个应用在使用临时语音。

Returns
Object — 返回占用临时语音的应用的AppId信息,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

ownerAppId: Number类型 占用临时语音的应用的AppId。如果值为0表示没有应用在占用。


Example
        使用示例:
        var result:Object = YY.instance.tempAudioSession.getOwner();
        if (result.ret == 0) {
         
          trace((result.ownerAppId==0)?"没有应用在使用":"正在使用临时语音的应用AppId="+result.ownerAppId);
        }
        成功的返回值示例:{ ret:0,ownerAppId:100901} 或 { ret:0,ownerAppId:0}
        失败的返回值示例:{ ret:984832}
         
getVolume()method 
public function getVolume():Object

获取临时语音房间音量。

Returns
Object — 返回临时语音房间音量,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

volume: Number类型 返回[0,100]的整数,房间创建后,初始音量是100。


Example
        使用示例:
        var result:Object = YY.instance.tempAudioSession.getVolume();
        if (result.ret == 0) {
          trace("当前房间的音量 volume="+result.volume);
        }
        else
        {
          trace("无法获取音量,错误码ret="+result.ret);
        }
        成功的返回值示例:{ ret:0,volume:100}
        失败的返回值示例:{ ret:36866}
         
leaveRoom()method 
public function leaveRoom():Object

离开房间。如果房间人数为0,服务器过一段时间后会销毁这个房间。

Returns
Object — 返回调用是否成功,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

setVolume()method 
public function setVolume(vol:int):Object

设置临时语音房间音量。

Parameters

vol:int — 0至100的整数,0为静音。房间创建后,初始音量是100。

Returns
Object — 返回调用是否成功,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

startSpeak()method 
public function startSpeak():Object

开始语音聊天。调用成功后,自己可以在房间中发言。

Returns
Object — 返回调用是否成功,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

stopSpeak()method 
public function stopSpeak():Object

禁止语音聊天。调用成功后,自己不能在房间中发言。

Returns
Object — 返回调用是否成功,是一个Object对象,具体属性如下。

ret: int类型 返回码 0=成功,非0值失败,具体请参考错误代码。

Event Detail
SPEAKER_CHANGED Event
Event Object Type: yy.events.TempAudioSessionEvent
TempAudioSessionEvent.type property = yy.events.TempAudioSessionEvent.SPEAKER_CHANGED

说话人数变化事件。当临时语音房间的说话人数发生变化时触发,即当有人调用startSpeak或stopSpeak成功时会触发。

事件信息格式说明:

eventData.speakerList: Array类型 当前房间可以说话的人的uid。

USER_ENTER_ROOM Event  
Event Object Type: yy.events.TempAudioSessionEvent
TempAudioSessionEvent.type property = yy.events.TempAudioSessionEvent.USER_ENTER_ROOM

用户进入房间事件。

事件信息格式说明:

eventData.rid: uint类型 进入的房间的rid。

eventData.uid: uint类型 进入房间的用户的uid。

USER_LEAVE_ROOM Event  
Event Object Type: yy.events.TempAudioSessionEvent
TempAudioSessionEvent.type property = yy.events.TempAudioSessionEvent.USER_LEAVE_ROOM

用户离开房间事件。

事件信息格式说明:

eventData.rid: uint类型 离开的房间的rid。

eventData.uid: uint类型 离开房间的用户的uid。