真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【音視頻】AndroidCallLib開發(fā)指南

開通方式

音視頻服務(wù)開通,請(qǐng)參考音視頻開通方式說明。

創(chuàng)新互聯(lián)是專業(yè)的網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì)等網(wǎng)站開發(fā)一體化解決方案;包括H5頁面制作,成都小程序開發(fā),網(wǎng)站定制,企業(yè)網(wǎng)站建設(shè),商城網(wǎng)站制作,成都響應(yīng)式網(wǎng)站建設(shè)公司,建網(wǎng)站,PHP網(wǎng)站建設(shè),軟件開發(fā),軟文發(fā)稿,網(wǎng)站營銷。歡迎做網(wǎng)站的企業(yè)前來合作洽談,創(chuàng)新互聯(lián)將竭誠為您服務(wù)!

使用說明

由于底層引擎技術(shù)不同,2.6.0 之后的音視頻 SDK 與 2.6.0 之前的 SDK 中的實(shí)時(shí)音視頻不能互通。

音視頻 SDK 為商用收費(fèi)功能,之前的 SDK 中的實(shí)時(shí)音視頻為免費(fèi)測試功能,如果您還想使用之前的實(shí)時(shí)音視頻,可以使用 2.5.2 版本,2.6.0 之后的音視頻服務(wù)使用說明如下:

集成說明

1、 首先請(qǐng)參考官網(wǎng)文檔集成 CallLib SDK 。

2、 使用融云通話之前,必須先初始化 SDK 和連接服務(wù)器,詳細(xì)內(nèi)容可以參考 IMLib 快速集成文檔。

快速集成

發(fā)起通話

您可以調(diào)用 RongCallClient 下面接口發(fā)起通話。

/**
 * 發(fā)起一個(gè)通話
 * @param conversationType  會(huì)話類型
 * @param targetId          目標(biāo)會(huì)話id
 * @param userIds           邀請(qǐng)參與通話的用戶ID列表
 * @param mediaType         發(fā)起的通話媒體類型
 * @param extra             附加信息
 * @return                  呼叫id
 */
 public String startCall(Conversation.ConversationType conversationType, String targetId, List userIds, RongCallCommon.CallMediaType mediaType, String extra);

設(shè)置通話來電監(jiān)聽

RongCallClient.setReceivedCallListener(new IRongReceivedCallListener() {    
    /**
     * 來電回調(diào)
     * @param callSession 通話實(shí)體
     */
    @Override
    public void onReceivedCall(RongCallSession callSession) {        
    //accept or hangup the call
    }    
    
    /**
     * targetSDKVersion>=23時(shí)檢查權(quán)限的回調(diào)。當(dāng)targetSDKVersion<23的時(shí)候不需要實(shí)現(xiàn)。
     * 在這個(gè)回調(diào)里用戶需要使用Android6.0新增的動(dòng)態(tài)權(quán)限分配接口requestCallPermissions通知用戶授權(quán),
     * 然后在onRequestPermissionResult回調(diào)里根據(jù)用戶授權(quán)或者不授權(quán)分別回調(diào)
     * RongCallClient.getInstance().onPermissionGranted()和
     * RongCallClient.getInstance().onPermissionDenied()來通知CallLib。
     * 其中audio call需要獲取Manifest.permission.RECORD_AUDIO權(quán)限;
     * video call需要獲取Manifest.permission.RECORD_AUDIO和Manifest.permission.CAMERA兩項(xiàng)權(quán)限。
     * @param callSession 通話實(shí)體
     */
    @Override
    public void onCheckPermission(RongCallSession callSession) {

    }
});

接聽和掛斷通話

您可以調(diào)用 RongCallClient 下面接口接聽和掛斷通話。

/**
 * 接聽通話
 * @param callId 呼叫id,可以從來電監(jiān)聽的callSession中獲取
 */public void acceptCall(String callId);
/**
 * 掛斷通話
 * @param callId 呼叫id,可以從來電監(jiān)聽的callSession中獲取
 */public void hangUpCall(String callId);
會(huì)話是否支持發(fā)起通話--call_conversation--

目前,SDK 支持在單聊中發(fā)起單人通話,在討論組中發(fā)起多人通話。

您可以通過 RongCallClient 的下面接口查詢當(dāng)前會(huì)話類型的通話能力。

/**
 * 當(dāng)前會(huì)話類型是否支持音頻通話。
 * @param type  會(huì)話類型
 * @return      true:支持; false:不支持
 */
 public boolean isAudioCallEnabled(Conversation.ConversationType type);
 
/**
 * 當(dāng)前會(huì)話類型是否支持視頻通話。
 * @param type  會(huì)話類型
 * @return      true:支持; false:不支持
 */
 public boolean isVideoCallEnabled(Conversation.ConversationType type);

獲取當(dāng)前的通話實(shí)體

您可以通過RongCallClient的下面接口獲取當(dāng)前的通話實(shí)體,通話實(shí)體中維護(hù)著當(dāng)前通話的所有信息。

/**
 * 獲取當(dāng)前通話實(shí)體,通話實(shí)體中維護(hù)著當(dāng)前通話的所有信息。
 * @return 當(dāng)前通話實(shí)體
 */
 public RongCallSession getCallSession();

邀請(qǐng)用戶加入當(dāng)前通話

您可以通過 RongCallClient 的下面接口邀請(qǐng)用戶加入當(dāng)前通話(僅限討論組和群組)。

/**
 * 邀請(qǐng)用戶加入當(dāng)前通話(僅限討論組和群組)
 * @param callId    通話id
 * @param userIds   邀請(qǐng)的用戶id列表
 */
 public void addParticipants(String callId, List userIds);

通話過程中的媒體接口

您可以通過 RongCallClient 的下面接口進(jìn)行媒體類的操作。

/**
 * 切換 audio,video 通話
 * @param mediaType 要切換的媒體類型:audio、video
 */
 public void changeCallMediaType(RongCallCommon.CallMediaType mediaType);
 
/**
 * 前后攝像頭切換
 */
 public void switchCamera();
 
/**
 * 設(shè)置是否打開本地?cái)z像頭
 * @param enabled true:打開攝像頭;false:關(guān)閉攝像頭。
 */
 public void setEnableLocalVideo(boolean enabled);
 
/**
 * 設(shè)置是否打開本地音頻
 * @param enabled true:打開本地音頻 false:關(guān)閉本地音頻
 */
 public void setEnableLocalAudio(boolean enabled);
 
/**
 * 設(shè)置是否打開免提
 * @param enabled true:打開免提 false:關(guān)閉免提
 */
 public void setEnableSpeakerphone(boolean enabled);

設(shè)置通話狀態(tài)的回調(diào)

您需要設(shè)置通話狀態(tài)的回調(diào),來監(jiān)聽通話狀態(tài)的變化。

RongCallClient.getInstance().setVoIPCallListener(new IRongCallListener() {    
    /**
     * 電話已撥出。
     * 主叫端撥出電話后,通過回調(diào) onCallOutgoing 通知當(dāng)前 call 的詳細(xì)信息。
     *
     * @param callSession 通話實(shí)體。
     * @param localVideo  本地 camera 信息。
     */
    @Override
    public void onCallOutgoing(RongCallSession callSession, SurfaceView localVideo) {

    }    
    
    /**
     * 已建立通話。
     * 通話接通時(shí),通過回調(diào) onCallConnected 通知當(dāng)前 call 的詳細(xì)信息。
     *
     * @param callSession 通話實(shí)體。
     * @param localVideo  本地 camera 信息。
     */
    @Override
    public void onCallConnected(RongCallSession callSession, SurfaceView localVideo) {

    }    
    
    /**
     * 通話結(jié)束。
     * 通話中,對(duì)方掛斷,己方掛斷,或者通話過程網(wǎng)絡(luò)異常造成的通話中斷,都會(huì)回調(diào) onCallDisconnected。
     *
     * @param callSession 通話實(shí)體。
     * @param reason      通話中斷原因。
     */
    @Override
    public void onCallDisconnected(RongCallSession callSession, RongCallCommon.CallDisconnectedReason reason) {

    }    
    
    /**
     * 被叫端正在振鈴。
     * 主叫端撥出電話,被叫端收到請(qǐng)求,發(fā)出振鈴響應(yīng)時(shí),回調(diào) onRemoteUserRinging。
     *
     * @param userId 振鈴端用戶 id。
     */
    @Override
    public void onRemoteUserRinging(String userId) {

    }    
    
    /**
     * 被叫端加入通話。
     * 主叫端撥出電話,被叫端收到請(qǐng)求后,加入通話,回調(diào) onRemoteUserJoined。
     *
     * @param userId      加入用戶的 id。
     * @param mediaType   加入用戶的媒體類型,audio or video。
     * @param remoteVideo 加入用戶者的 camera 信息。
     */
    @Override
    public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, SurfaceView remoteVideo) {

    }    
    
    /**
     * 通話中的某一個(gè)參與者,邀請(qǐng)好友加入通話,發(fā)出邀請(qǐng)請(qǐng)求后,回調(diào) onRemoteUserInvited。
     *
     * @param userId    被邀請(qǐng)者的 id。
     * @param mediaType 被邀請(qǐng)者的 id。
     */
    @Override
    public void onRemoteUserInvited(String userId, RongCallCommon.CallMediaType mediaType) {

    }    
    
    /**
     * 通話中的遠(yuǎn)端參與者離開。
     * 回調(diào) onRemoteUserLeft 通知狀態(tài)更新。
     *
     * @param userId 遠(yuǎn)端參與者的 id。
     * @param reason 遠(yuǎn)端參與者離開原因。
     */
    @Override
    public void onRemoteUserLeft(String userId, RongCallCommon.CallDisconnectedReason reason) {

    }    
    
    /**
     * 當(dāng)通話中的某一個(gè)參與者切換通話類型,例如由 audio 切換至 video,回調(diào) onMediaTypeChanged。
     *
     * @param userId    切換者的 userId。
     * @param mediaType 切換者,切換后的媒體類型。
     * @param video     切換著,切換后的 camera 信息,如果由 video 切換至 audio,則為 null。
     */
    @Override
    public void onMediaTypeChanged(String userId, RongCallCommon.CallMediaType mediaType, SurfaceView video) {

    }    
    
    /**
     * 通話過程中,發(fā)生異常。
     *
     * @param errorCode 異常原因。
     */
    @Override
    public void onError(RongCallCommon.CallErrorCode errorCode) {

    }    
    
    /**
     * 遠(yuǎn)端參與者 camera 狀態(tài)發(fā)生變化時(shí),回調(diào) onRemoteCameraDisabled 通知狀態(tài)變化。
     *
     * @param userId   遠(yuǎn)端參與者 id。
     * @param disabled 遠(yuǎn)端參與者 camera 是否可用。
     */
    @Override
    public void onRemoteCameraDisabled(String userId, boolean disabled) {

    }
});

文章標(biāo)題:【音視頻】AndroidCallLib開發(fā)指南
網(wǎng)站網(wǎng)址:http://weahome.cn/article/pgojsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部