sponsored links

技術分享|如何快速實現音影片線上通話

請問咱們支援像微信一樣的音影片呼叫功能嗎?

請問呼叫邀請怎麼實現?

如果客戶端離線了,怎麼呼叫到客戶?

怎麼新增呼叫鈴聲?以及接收鈴聲?

經常能聽到有使用者問上述的問題,今天藉此機會向大家講解下音影片呼叫的整體流程。

前提

在接入anyRTC SDK前,先向大家介紹下音影片呼叫所需要的SDK:視訊通話SDK實時訊息SDK、第三方推送服務。

視訊通話SDK

視訊通話SDK,可實現一對一單聊、多人群聊,同時具備純語音通話和視訊通話功能。也可以實現一對一、多對多的音影片互動直播。其原理是進入同一個頻道即可釋出自己的音影片流並自動訂閱其他使用者的音影片流,進而實現音視訊通話。

實時訊息SDK

實時訊息SDK,可以輕鬆實現點對點訊息、頻道訊息、使用者屬性、頻道屬性和發起呼叫邀請、獲取離線以及歷史資訊等功能。更可以自由拓展出更多豐富的功能,如禁言、踢人、許可權管理等。其原理是線上使用者的信令的傳送與接收,透過信令交換來客戶所需要的功能。

第三方推送服務

第三方推送服務,當集成了實時訊息 SDK 的使用者下線後,訊息需要透過第三方推送服務才能送達,一般應用中都會整合推送服務,當實時訊息使用者下線後,透過推送服務也可以進行訊息傳遞,實現音影片呼叫。

實現音影片呼叫功能,前提已經集成了視訊通話SDK實時訊息SDK、第三方推送服務。

一對一呼叫

一對一呼叫邀請使用RTM 的呼叫邀請介面進行:具體邏輯檢視呼叫邀請文件,本章節結合呼叫邀請文件進行闡述。

技術分享|如何快速實現音影片線上通話

技術分享|如何快速實現音影片線上通話

流程:

  • 使用者登入RTM-》選擇需要呼叫的使用者-》使用RTM方法判斷使用者是否線上-》使用者不線上-》傳送離線推送訊息-》等待對方同意與否-》對方同意後-》使用RTC 進入協商的頻道進行通話。
  • 使用者登入RTM-》選擇需要呼叫的使用者-》使用RTM方法判斷使用者是否線上-》使用者線上-》傳送RTM呼叫邀請訊息-》等待對方同意與否-》對方同意後-》使用 RTC 進入協商的頻道進行通話。

問題:

1、如何知道目前對方不線上?

在進行呼叫之前呼叫:queryPeersOnlineStatus(https://docs.anyrtc.io/cn/RealTimeMessage/api-ref/rtm_android/rtmclient#querypeersonlinestatus)方法進行查詢使用者是否線上,使用者線上走RTM 呼叫邀請方法,使用者不線上使用推送服務進行訊息傳達。


平臺


方法


iOS


queryPeersOnlineStatus(https://docs.anyrtc.io/cn/RealTimeMessage/api-ref/rtm_ios/rtmkit#querypeersonlinestatus


Android


queryPeersOnlineStatus(https://docs.anyrtc.io/cn/RealTimeMessage/api-ref/rtm_android/rtmclient#querypeersonlinestatus


Web/小程式


queryPeersOnlineStatus(https://docs.anyrtc.io/cn/RealTimeMessage/api-ref/rtm_web/classes/rtmClient#querypeersonlinestatus

2、推送訊息如何做?呼叫端和被叫端怎麼處理?

  • 首先需要先整合第三發推送服務,客戶端跟服務端都需要對應整合。
  • 呼叫端在呼叫使用者的時候,先判斷對方是否線上,如果對方不線上,向自己的業務服務傳送一條邀請訊息,此時呼叫端播放鈴聲,業務服務收到客戶端的邀請訊息後,使用第三方推送提供的RESTful API 介面向被邀請方傳送該邀請訊息,訊息傳送成功後,向呼叫端傳送離線訊息已傳送成功,此時呼叫端做等待60s等待對方答覆的邏輯。
  • 被叫端收到推送訊息,點選推送訊息進入應用,判斷訊息型別為呼叫訊息,進入等待同意通話頁面並播放響鈴
  • 如果被叫端點選結束通話按鈕,此時停止播放鈴聲,併發送一條拒絕的訊息給呼叫方。呼叫方收到拒絕訊息停止播放鈴聲,並在頁面中給予一條提示:對方結束通話。
  • 如果被叫端點選同意按鈕,此時停止播放鈴聲,併發送一條同意的訊息給呼叫方,並初始化RTC SDK進入協商的通訊頻道。呼叫方收到同意的訊息停止播放鈴聲,並初始化RTC SDK進入協商的通訊頻道。

3、呼叫時異常了該怎麼處理?

一般的異常是信令都已送達,程式可能崩潰會導致流程進行不下去,一般有2中方式進行異常處理:

  • anyRTC RTM SDK的訂閱對方線上狀態功能能夠幫助開發者解決中間異常問題,如果收到對方下線,頁面上做友情提示即可。
  • 呼叫中每個狀態都有超時回撥,根據超時回撥進行友情提醒或中斷呼叫邀請。

4、響鈴怎麼處理?

  • 推送鈴聲為推送訊息的時候可自定義響鈴的內容
  • 傳送呼叫等待鈴聲以及接收邀請後的響鈴,Native端可根據SDK 的混音介面實現。

不建議使用系統自帶的播放器去播放響鈴,因為SDK的通話和音樂播放會對音訊Session造成影響。

5、推送服務商有什麼好的建議?

目前市面上的推送服務比如:個推極光友盟都是可以去整合的,Android端的最好配置下主流的平臺(華為、小米、OPPO、vivo、魅族等推送廠商通道)利用廠商的通道去推送,保達率會高很多。測試期間用免費的推送通道即可,上線後建議去購買他們的商業版本服務。

一對多呼叫

一對一的呼叫流程是使用RTM 呼叫管理介面進行完成,如果進行一對多呼叫,需要使用 RTM 點對點訊息,自定義信令進行訊息投遞,中間環節跟 RTM 呼叫管理介面使用無異。

注意事項

  • 呼叫多人的時候,需要對每個人進行點對點發送訊息,傳送訊息前,同樣的要用RTM 檢測對方是否線上,對方不線上傳送推送訊息,對方線上傳送點對點訊息。
  • 呼叫後,如果對方線上需要訂閱對方的線上狀態。
  • 傳送訊息後,同樣也做60s倒計時等待。

問題

1、通話中的邀請功能怎麼實現?

多人呼叫場景中,還會有通話過程中邀請其他人加入,該操作流程跟前面的一對多呼叫流程保持一致即可。

2、通話中的會控功能如何實現?

可以使用RTM 點對點訊息,傳送自定義訊息,只需要協商好信令內容,識別對應的指令即可。

總結

上述呼叫流程 anyRTC 已開源到Github(https://github.com/anyRTC-UseCase/ARCall),開發者可參考該流程快速實現音影片線上通話。該開源專案包含的平臺有iOS,Android,Web和uni-app,功能暫未包含推送功能,推送功能可參考本文描述自行新增。

全真網際網路時代的當下,文字交流已經無法滿足快節奏的生活現狀,越來越多的應用在加入實時互動功能,實時交流已是大勢所趨。iOS 的 CallKit 框架最近也有鬆動的跡象,微信最新版本也已經開始灰度測試,相信該功能將會在國內全部開發,讓國內的蘋果使用者享受電話級音影片音影片通訊。Android的推送詬病也會慢慢消除,安卓統一聯盟會慢慢把推送標準統一,功耗更低、整合更便捷、保達率更高的推送機制即將來臨。

技術分享|如何快速實現音影片線上通話

分類: 農業
時間: 2021-12-22

相關文章

它被稱為“瓜中之王”,但有用的瓜皮卻被你扔了!西瓜皮這樣吃,養生又美味

它被稱為“瓜中之王”,但有用的瓜皮卻被你扔了!西瓜皮這樣吃,養生又美味
炎炎夏日,吃西瓜可算得上是一大快事.西瓜堪稱"瓜中之王",汁多甜美.清爽解渴,是解暑之盛品. 但每年因為吃西瓜腹瀉感染的人也不在少數,那麼我們在吃西瓜的時候要注意什麼?西瓜還有一寶 ...

只有老新疆人才知道的美食,雖然小眾但好吃到爆!你吃過幾種?

只有老新疆人才知道的美食,雖然小眾但好吃到爆!你吃過幾種?
新疆的美食數不勝數 外地遊客來到新疆可以不看景 也要先品嚐咱們新疆的美食 但在新疆 有一些冷門的美食 就是來的新疆也不一定能吃到 只有老新疆人才知道 今天小編帶大家一起盤點一下 新疆的冷門美食 瓊瓊飯 ...

茄子黃瓜有瓢蟲易早衰,試試這兩方法,不招蟲還能加倍增產

茄子黃瓜有瓢蟲易早衰,試試這兩方法,不招蟲還能加倍增產
茄子.黃瓜是生長期比較長的蔬菜,也是產量比較高的蔬菜,露地栽培一般從春季一直延續到秋後,但在種植和管理過程中,這兩種蔬菜最大的四個弊端,一是容易受到瓢蟲的危害,二是容易早衰,三是容易落花落果,四是管理 ...

抗美援朝結束後,美國國內反應如何?英國媒體評價較為真實

抗美援朝結束後,美國國內反應如何?英國媒體評價較為真實
七十多年前,新中國剛成立不久,和平生活來之不易,百廢待興之下,人們充滿著對未來美好生活的期盼. 然而事與願違,以美國為首的西方各國偏偏為了他們所謂的國家利益挑釁中國,干涉中國內政,甚至企圖以朝鮮半島為 ...

民間故事:埋骨頭

民間故事:埋骨頭
石頭籮頭兄弟倆種了二畝西瓜,瓜快成熟時,二人吃住都在瓜棚裡,很少回家.雨後,積水把瓜秧飄得橫七豎八,他們就挖溝往外排積水.挖著挖著,他們突然挖出了一根骨頭.那骨頭有尺把長,白亮亮的橫在泥水裡.&quo ...

隔夜冰西瓜一口吃下8400個細菌,“吃瓜群眾”坐不住了

隔夜冰西瓜一口吃下8400個細菌,“吃瓜群眾”坐不住了
如果問你夏天是什麼味道的呢?小編會回答,是西瓜的味道~ 都說沒有西瓜的夏天,是不完整的,尤其在這種無比溼熱.又漫長的夏天裡,一塊冰鎮西瓜在手,就擁有了整個夏天的快樂. 但西瓜雖好,可不能貪多哦,尤其是 ...

“戈壁西瓜”危害有多大?年營收20多億的硒砂瓜,為何被區域性禁種

“戈壁西瓜”危害有多大?年營收20多億的硒砂瓜,為何被區域性禁種
夏天,天氣炎熱,總喜歡吃一些冰涼解暑的東西.夏天是吃西瓜的季節,西瓜也是暢銷水果,特別是冷藏後的西瓜,讓人們瞬間沒有了悶熱的感覺.西瓜會隨著土壤.氣候的變化導致西瓜水分.口感上也會發生變化.就算不在夏 ...

“戈壁西瓜”——硒砂瓜被區域性禁種?它對土壤的危害有多大?

“戈壁西瓜”——硒砂瓜被區域性禁種?它對土壤的危害有多大?
從2021年起,紅堡寺區範圍內硒砂瓜地全部予以退出,不再種植.並強制規定廣大種植農戶一律不得擅自種植,如若強行種植破壞植被將依法予以處罰或追究其刑事責任. 這一訊息一出便有很多網友表示疑惑:硒砂瓜一直 ...

挑西瓜別拍來拍去惹人笑,看準這2點,又沙又甜,瓜販也不得不服

挑西瓜別拍來拍去惹人笑,看準這2點,又沙又甜,瓜販也不得不服
挑西瓜的時候,透過用手在西瓜上拍一拍,來聽聲音的方法,是我們一直都在使用的挑選西瓜的方法. 按照聲音來聽: 如果西瓜發出"咚咚"的聲音,比較清脆,這證明西瓜已經熟了,可以吃了: 如 ...

憶吃西瓜(散文)
玲子的爸爸特別會種西瓜,每年夏天,就是玲子最開心的事了. 那年初夏,玲子爸媽要忙農活,所以安排玲子看瓜.在西瓜有大碗口那麼大的時候,玲子每天都看守著,也期盼著能吃到美味的西瓜. 一天,玲子看瓜,來了村 ...

《誤入小雷音》拍攝用了三座廟宇,瓜地擒妖讓妖王曹鐸苦不堪言

《誤入小雷音》拍攝用了三座廟宇,瓜地擒妖讓妖王曹鐸苦不堪言
#影視雜談# 踏平坎坷一路前行,1986年7月16日一行人先後趕往安徽九華山.浙江建德靈棲洞拍攝了第十九集<誤入小雷音> 安徽九華山拍攝<誤入小雷音>劇組工作人員合影留念 當年 ...

“圈中大姐大”和小鮮肉的瓜

“圈中大姐大”和小鮮肉的瓜
一. 1997年,12歲的蘭州男孩黃軒,因父母離異,隨母親到廣州生活.在陌生的城市,他學習很吃力,回回都考全班倒數第二,無比苦悶,竟喜歡上一個男人. 這個男人就是國際巨星邁克爾·傑克遜.黃軒被他的舞蹈 ...

乾隆在路邊吃瓜,吃完為何要處死瓜農?只因瓜農話太多

乾隆在路邊吃瓜,吃完為何要處死瓜農?只因瓜農話太多
中國五千年曆史上,曾有過很多盛世,例如文景之治.貞觀之治.光武中興以及清朝的康乾盛世等等.而這其中,由於康乾盛世距離現代最為接近,也成為了歷史學家最喜為研究的盛世歷史. 但是,作為中國清王朝前期統治下 ...

“戈壁西瓜”時代終結?一茬過後留下一灘碎石,區域性地區已禁種

“戈壁西瓜”時代終結?一茬過後留下一灘碎石,區域性地區已禁種
在戈壁灘種西瓜聽起來匪夷所思,但事實上,我國西北地區種植砂田瓜已有300多年的歷史,面積逐步擴大,產業蔚然成風. 據史料記載,甘肅省皋蘭縣的農民首次開創了"砂田栽培法",之後迅速流 ...

陪爺爺看瓜的日子,如今想起來是多麼美好

陪爺爺看瓜的日子,如今想起來是多麼美好
我家雖處南陽盆地宛東平原,按地貌分,是標準的崗地,莊名帶崗就能說明一切,像魏崗.張崗.楊樹崗,唐崗.侯崗.萬田崗,還有個集叫長崗鎮. 崗地人多地薄,靠天等雨,以前水利種子農藥化肥不跟趟兒,糧食沒產量, ...

我買西瓜的時候,就看這幾點,西瓜個個又甜又多汁,學學

我買西瓜的時候,就看這幾點,西瓜個個又甜又多汁,學學
大家好,歡迎來到[媛爸日記].每天分享生活實用的小知識,希望對您有幫助. 本期話題:教你挑選西瓜的技巧,記住幾個要點,個個又甜汁多,學學 夏天是水果大量上市的季節,夏天裡最具有代表性的水果應該是西瓜. ...

西瓜太寒不適合小孩吃?這樣做不傷脾還解暑生津

西瓜太寒不適合小孩吃?這樣做不傷脾還解暑生津
進入三伏天,氣溫也逐漸到了夏季最熱的時候.此時,孩子稍微運動兩下,就會汗流浹背.出汗過多,氣隨汗洩,最容易損傷津液.所以孩子倍感口渴,總特別想喝水,或者是吃冷飲來解渴. 夏主心,小孩又"心常 ...

漢EV自駕新疆,水果收穫的季節,西瓜哈密瓜一個價一塊一斤

漢EV自駕新疆,水果收穫的季節,西瓜哈密瓜一個價一塊一斤
今天我的目的地是要行駛到木壘縣,我走的是一條邊上的國道,在新疆的這個季節,我們接觸到最多的就是哈密瓜,在內地一斤要幾塊錢的吧,但是在新疆,哈密瓜是可以實現自由的,這邊的所有的物價稱斤的時候都是以公斤來 ...

一個西瓜,一碗剩米飯,教你不一樣的拌飯,色澤金黃,清涼爽口

一個西瓜,一碗剩米飯,教你不一樣的拌飯,色澤金黃,清涼爽口
今天和大家分享一道"西瓜拌飯"的家常做法,夏季炎熱正是吃西瓜的季節,用西瓜拌米飯,做法新穎,開胃又解暑,有喜歡的趕緊學一下. 食材:西瓜.雞蛋.米飯 輔料:小香芹.火腿.咖哩 調料 ...

隔夜西瓜 到底能不能吃?

隔夜西瓜 到底能不能吃?
流言: 沒有西瓜的夏天是不完美的.悶熱難耐的酷暑時節,一口水靈靈甜絲絲的西瓜入口,頓時所有的煩惱全都煙消雲散!然而,關於西瓜的流言一直不斷,比如有說法認為,隔夜西瓜細菌多,不能吃. 真相解讀: 隔夜的 ...