国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于iPhone平臺下實現(xiàn)的語音視頻通話方法

      文檔序號:7862236閱讀:320來源:國知局
      專利名稱:基于iPhone平臺下實現(xiàn)的語音視頻通話方法
      技術領域
      本發(fā)明涉及一種語音視頻通話方法,特別涉及一種基于iPhone平臺下實現(xiàn)的語音視頻通話方法。背景技術
      在目前的移動互聯(lián)網(wǎng)應用中,隨著即時通訊的迅猛發(fā)展,基于網(wǎng)絡的各種通訊應用軟件越來越多,而且備受人們的喜歡,比如人們喜愛微信、QQ,它們都支持兩個用戶進行語音視頻聊天。當前的移動開發(fā)商普遍將自己開發(fā)的應用軟件放到蘋果商店,供人們?nèi)ハ螺d使用?,F(xiàn)有各種通訊應用軟件存在一些不便之處,比如微信的聊天方式不是發(fā)送音頻流,而是通過發(fā)送音頻文件,實時性較差,而QQ的聊天沒有融入變音效果,使用較不便。
      發(fā)明內(nèi)容
      本發(fā)明要解決的技術問題是針對現(xiàn)有技術不足,提供一種通訊及時、流暢、功能強的 基于iPhone平臺下實現(xiàn)的語音視頻通話方法。本發(fā)明的技術方案
      一種基于iPhone平臺下實現(xiàn)的語音視頻通話方法,首先,將通話分為視頻、音頻和變音三個部分,各客戶端之間的通訊采用socket通訊,每一個iPhone設備不僅是客戶端,同時也是一個進行數(shù)據(jù)接收的小型服務器;然后,進行如下步驟
      步驟I :創(chuàng)建本通話系統(tǒng)的服務器,用來保存每個客戶端的相關信息;
      步驟2 :進行視頻幀數(shù)據(jù)的發(fā)送和接收因為iPhone4之后的設備帶有前置攝像頭,同時API中有如何調(diào)用攝像頭的類庫,那么我們在這里就容易獲取視頻流的數(shù)據(jù);
      調(diào)用iPhone平臺中的視頻采集API,設置視頻每秒采集的幀數(shù)為15幀-20幀;如果幀采集數(shù)過少,就會影響視頻播放的流暢度,如果采集幀數(shù)過高,會造成數(shù)據(jù)量過大,導致傳輸速度過慢,同樣會影響效果。通過采集類的委托方法獲取每一幀的數(shù)據(jù),把每一幀的數(shù)據(jù)轉(zhuǎn)化成二進制數(shù)據(jù);在這里我們就可以進行數(shù)據(jù)的發(fā)送了,但是因為數(shù)據(jù)生成速度比較快,如果只是簡單的數(shù)據(jù)發(fā)送,在網(wǎng)絡情況好的下,用戶是感覺不到視頻的卡殼的,但是如果網(wǎng)絡稍微差點,用戶的體驗感就會立馬下降。我們先對數(shù)據(jù)進行壓縮,然后再通過socket通訊進行數(shù)據(jù)發(fā)送,對方客戶端接收到數(shù)據(jù)后,首先進行數(shù)據(jù)解壓縮,然后再把幀數(shù)據(jù)還原,這樣就可以實現(xiàn)視頻的流暢播放了;
      步驟3 :進行音頻數(shù)據(jù)的發(fā)送和接收大多數(shù)的音頻通訊實現(xiàn)的都是對講功能,就是兩個客戶端進行音頻數(shù)據(jù)的錄制,然后通過服務器進行數(shù)據(jù)的交互,雙方收到音頻數(shù)據(jù)后,往本地寫入,生成對應音頻文件,然后調(diào)用系統(tǒng)提供的API播放出來就行了。但是這種方式不能實現(xiàn)數(shù)據(jù)的即時交互,而且錄制音頻的時間有限制,時間不能太長,如果太長就會導致數(shù)據(jù)量過大,數(shù)據(jù)交互時間太長,效果不是太好;
      本發(fā)明采用即時獲取音頻流數(shù)據(jù)的方法進行數(shù)據(jù)的發(fā)送和接收;即時獲取音頻流數(shù)據(jù)的方法為采用iPhone平臺中提供的API中的AudioToolbox. framework框架文件進行音頻數(shù)據(jù)的采集和還原,每次開始采集音頻數(shù)據(jù)的時候,事先創(chuàng)建三個數(shù)據(jù)緩沖池,在采集音頻數(shù)據(jù)的過程中,在每次的回調(diào)方法中輪流向三個緩沖池中填充音頻二進制文件,在每次填充的過程中,我們依此從三個緩沖數(shù)據(jù)池中取出數(shù)據(jù),通過socket通訊進行數(shù)據(jù)的發(fā)送,我們在播放音頻數(shù)據(jù)的時候,也是事先創(chuàng)建三個數(shù)據(jù)緩沖池,每次獲取數(shù)據(jù)后就向三個數(shù)據(jù)緩沖池依次填充數(shù)據(jù),然后進行音頻數(shù)據(jù)的還原,這樣就可以即時發(fā)送音頻數(shù)據(jù)了 ;步驟4 :音頻變音功能的實現(xiàn)通過音頻處理庫(如開源庫soundtouch)
      來進行音頻數(shù)據(jù)的轉(zhuǎn)換,在客戶端收到數(shù)據(jù)后,通過設置音頻數(shù)據(jù)時間、振幅和頻率來實現(xiàn)變音,設置音頻數(shù)據(jù)的時間可控制音頻的播放長度,設置音頻數(shù)據(jù)的振幅和頻率可以設置不同的變音效果。步驟I中相關信息含有客戶端的當前IP,當各客戶端之間直接進行通訊時,需要知道雙方的當前IP,每個客戶端首先獲取自身的當前IP,然后把自身的當前IP發(fā)送給本通話系統(tǒng)的服務器,如果兩客戶端想要建立連接,先從本通話系統(tǒng)的服務器獲取對方的當前IP,然后通過Socket通訊建立連接,就能進行數(shù)據(jù)接收和發(fā)送了。步驟4中通過iPhone平臺中的API設置聲音的采樣頻率、聲道、音高(pitch)、速率和聲道,從而實現(xiàn)聲音的變速、變調(diào)、變速又變調(diào)的效果;通過iPhone平臺中的API能夠·對媒體流實時操作,也能對音頻文件操作,音頻文件采用32位浮點或者16位定點數(shù)據(jù),支持單聲道或者雙聲道,聲音的采樣頻率范圍是8k 48k ;這種方式能在即時的語音聊天中融入變音功能。本發(fā)明的有益效果
      I.本發(fā)明在進行視頻幀數(shù)據(jù)的發(fā)送和接收時,先對數(shù)據(jù)進行壓縮,然后再通過socket通訊進行數(shù)據(jù)發(fā)送,對方客戶端接收到數(shù)據(jù)后,首先進行數(shù)據(jù)解壓縮,然后再把幀數(shù)據(jù)還原,保證了視頻的流暢度。2.本發(fā)明在進行音頻數(shù)據(jù)的發(fā)送和接收時,采用即時獲取音頻流數(shù)據(jù)的方法,保證了音頻的即時溝通;同時在發(fā)送音頻流的時候,融入了變音技術,功能性更強,能夠讓通話變得有趣味。具體實施例方式 基于iPhone平臺下實現(xiàn)的語音視頻通話方法為首先,將通話分為視頻、音頻和變音三個部分,各客戶端之間的通訊采用socket通訊,每一個iPhone設備不僅是客戶端,同時也是一個進行數(shù)據(jù)接收的小型服務器;然后,進行如下步驟
      步驟I :創(chuàng)建本通話系統(tǒng)的服務器,用來保存每個客戶端的相關信息;
      步驟2 :進行視頻幀數(shù)據(jù)的發(fā)送和接收因為iPhone4之后的設備帶有前置攝像頭,同時API中有如何調(diào)用攝像頭的類庫,那么我們在這里就容易獲取視頻流的數(shù)據(jù);
      調(diào)用iPhone平臺中的視頻采集API,設置視頻每秒采集的幀數(shù)為15幀-20幀;如果幀采集數(shù)過少,就會影響視頻播放的流暢度,如果采集幀數(shù)過高,會造成數(shù)據(jù)量過大,導致傳輸速度過慢,同樣會影響效果。通過采集類的委托方法獲取每一幀的數(shù)據(jù),把每一幀的數(shù)據(jù)轉(zhuǎn)化成二進制數(shù)據(jù);在這里我們就可以進行數(shù)據(jù)的發(fā)送了,但是因為數(shù)據(jù)生成速度比較快,如果只是簡單的數(shù)據(jù)發(fā)送,在網(wǎng)絡情況好的下,用戶是感覺不到視頻的卡殼的,但是如果網(wǎng)絡稍微差點,用戶的體驗感就會立馬下降。我們先對數(shù)據(jù)進行壓縮,然后再通過socket通訊進行數(shù)據(jù)發(fā)送,對方客戶端接收到數(shù)據(jù)后,首先進行數(shù)據(jù)解壓縮,然后再把幀數(shù)據(jù)還原,這樣就可以實現(xiàn)視頻的流暢播放了;步驟3 :進行音頻數(shù)據(jù)的發(fā)送和接收大多數(shù)的音頻通訊實現(xiàn)的都是對講功能,就是兩個客戶端進行音頻數(shù)據(jù)的錄制,然后通過服務器進行數(shù)據(jù)的交互,雙方收到音頻數(shù)據(jù)后,往本地寫入,生成對應音頻文件,然后調(diào)用系統(tǒng)提供的API播放出來就行了。但是這種方式不能實現(xiàn)數(shù)據(jù)的即時交互,而且錄制音頻的時間有限制,時間不能太長,如果太長就會導致數(shù)據(jù)量過大,數(shù)據(jù)交互時間太長,效果不是太好;
      本發(fā)明采用即時獲取音頻流數(shù)據(jù)的方法進行數(shù)據(jù)的發(fā)送和接收;即時獲取音頻流數(shù)據(jù)的方法為采用iPhone平臺中提供的API中的AudioToolbox. framework框架文件進行音頻數(shù)據(jù)的采集和還原,每次開始采集音頻數(shù)據(jù)的時候,事先創(chuàng)建三個數(shù)據(jù)緩沖池,在采集音頻數(shù)據(jù)的過程中,在每次的回調(diào)方法中輪流向三個緩沖池中填充音頻二進制文件,在每
      次填充的過程中,我們依此從三個緩沖數(shù)據(jù)池中取出數(shù)據(jù),通過socket通訊進行數(shù)據(jù)的發(fā)送,我們在播放音頻數(shù)據(jù)的時候,也是事先創(chuàng)建三個數(shù)據(jù)緩沖池,每次獲取數(shù)據(jù)后就向三個數(shù)據(jù)緩沖池依次填充數(shù)據(jù),然后進行音頻數(shù)據(jù)的還原,這樣就可以即時發(fā)送音頻數(shù)據(jù)了 ;步驟4 :音頻變音功能的實現(xiàn)通過音頻處理庫(如開源庫soundtouch)
      來進行音頻數(shù)據(jù)的轉(zhuǎn)換,在客戶端收到數(shù)據(jù)后,通過設置音頻數(shù)據(jù)時間、振幅和頻率來實現(xiàn)變音,設置音頻數(shù)據(jù)的時間可控制音頻的播放長度,設置音頻數(shù)據(jù)的振幅和頻率可以設置不同的變音效果。步驟I中相關信息含有客戶端的當前IP,當各客戶端之間直接進行通訊時,需要知道雙方的當前IP,每個客戶端首先獲取自身的當前IP,然后把自身的當前IP發(fā)送給本通話系統(tǒng)的服務器,如果兩客戶端想要建立連接,先從本通話系統(tǒng)的服務器獲取對方的當前IP,然后通過Socket通訊建立連接,就能進行數(shù)據(jù)接收和發(fā)送了。步驟4中通過iPhone平臺中的API設置聲音的采樣頻率、聲道、音高(pitch)、速率和聲道,從而實現(xiàn)聲音的變速、變調(diào)、變速又變調(diào)的效果;通過iPhone平臺中的API能夠?qū)γ襟w流實時操作,也能對音頻文件操作,音頻文件采用32位浮點或者16位定點數(shù)據(jù),支持單聲道或者雙聲道,聲音的采樣頻率范圍是8k 48k ;這種方式能在即時的語音聊天中融入變音功能。
      權利要求
      1.一種基于iPhone平臺下實現(xiàn)的語音視頻通話方法,其特征是首先,將通話分為視頻、音頻和變音三個部分,各客戶端之間的通訊采用socket通訊,把每一個iPhone設備作為一個客戶端,然后,進行如下步驟 步驟I :創(chuàng)建本通話系統(tǒng)的服務器,用來保存每個客戶端的相關信息; 步驟2 :進行視頻幀數(shù)據(jù)的發(fā)送和接收調(diào)用iPhone平臺中的視頻采集API,設置視頻每秒采集的幀數(shù)為15幀-20幀;通過采集類的委托方法獲取每一幀的數(shù)據(jù),把每一幀的數(shù)據(jù)轉(zhuǎn)化成二進制數(shù)據(jù);然后,先對數(shù)據(jù)進行壓縮,再通過socket通訊進行數(shù)據(jù)發(fā)送,對方客戶端接收到數(shù)據(jù)后,首先進行數(shù)據(jù)解壓縮,然后再把幀數(shù)據(jù)還原,這樣就可以實現(xiàn)視頻的流暢播放了 ; 步驟3 :進行音頻數(shù)據(jù)的發(fā)送和接收采用即時獲取音頻流數(shù)據(jù)的方法進行數(shù)據(jù)的發(fā)送和接收; 步驟4 :音頻變音功能的實現(xiàn)通過音頻處理庫來進行音頻數(shù)據(jù)的轉(zhuǎn)換,在客戶端收到數(shù)據(jù)后,通過設置音頻數(shù)據(jù)時間、振幅和頻率來實現(xiàn)變音。
      2.根據(jù)權利要求I所述的基于iPhone平臺下實現(xiàn)的語音視頻通話方法,其特征是所述步驟I中相關信息含有客戶端的當前IP,當各客戶端之間直接進行通訊時,需要知道雙方的當前IP,每個客戶端首先獲取自身的當前IP,然后把自身的當前IP發(fā)送給本通話系統(tǒng)的服務器,如果兩客戶端想要建立連接,先從本通話系統(tǒng)的服務器獲取對方的當前IP,然后通過Socket通訊建立連接,就能進行數(shù)據(jù)接收和發(fā)送了。
      3.根據(jù)權利要求I所述的基于iPhone平臺下實現(xiàn)的語音視頻通話方法,其特征是所述步驟3中即時獲取音頻流數(shù)據(jù)的方法為采用iPhone平臺中提供的API中的AudioToolbox. framework框架文件進行音頻數(shù)據(jù)的采集和還原,每次開始采集音頻數(shù)據(jù)的時候,事先創(chuàng)建三個數(shù)據(jù)緩沖池,在采集音頻數(shù)據(jù)的過程中,在每次的回調(diào)方法中輪流向三個緩沖池中填充音頻二進制文件,在每次填充的過程中,依此從三個緩沖數(shù)據(jù)池中取出數(shù)據(jù),通過socket通訊進行數(shù)據(jù)的發(fā)送;在播放音頻數(shù)據(jù)的時候,也是事先創(chuàng)建三個數(shù)據(jù)緩沖池,每次獲取數(shù)據(jù)后就向三個數(shù)據(jù)緩沖池依次填充數(shù)據(jù),然后進行音頻數(shù)據(jù)的還原,這樣就可以即時發(fā)送音頻數(shù)據(jù)了。
      4.根據(jù)權利要求I所述的基于iPhone平臺下實現(xiàn)的語音視頻通話方法,其特征是所述步驟4中通過iPhone平臺中的API設置聲音的采樣頻率、聲道、音高、速率和聲道,從而實現(xiàn)聲音的變速、變調(diào)、變速又變調(diào)的效果。
      全文摘要
      本發(fā)明涉及一種基于iPhone平臺下實現(xiàn)的語音視頻通話方法;含有如下步驟步驟1創(chuàng)建本通話系統(tǒng)的服務器,用來保存每個客戶端的相關信息;步驟2進行視頻幀數(shù)據(jù)的發(fā)送和接收發(fā)送時,先對數(shù)據(jù)進行壓縮,再通過socket通訊進行數(shù)據(jù)發(fā)送,對方客戶端接收到數(shù)據(jù)后,首先進行數(shù)據(jù)解壓縮,然后再把幀數(shù)據(jù)還原;步驟3進行音頻數(shù)據(jù)的發(fā)送和接收采用即時獲取音頻流數(shù)據(jù)的方法進行數(shù)據(jù)的發(fā)送和接收;步驟4音頻變音功能的實現(xiàn)通過音頻處理庫來進行音頻數(shù)據(jù)的轉(zhuǎn)換,在客戶端收到數(shù)據(jù)后,通過設置音頻數(shù)據(jù)時間、振幅和頻率來實現(xiàn)變音;本發(fā)明提供了一種通訊及時、流暢、功能強的基于iPhone平臺下實現(xiàn)的語音視頻通話方法。
      文檔編號H04N7/14GK102891977SQ201210348839
      公開日2013年1月23日 申請日期2012年9月19日 優(yōu)先權日2012年9月19日
      發(fā)明者胡臻, 陳起 申請人:河南智游網(wǎng)絡技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1