相關(guān)申請(qǐng)
本申請(qǐng)要求2015年11月23日提交的第14/949,785號(hào)美國(guó)申請(qǐng)的優(yōu)先權(quán),第14/949,785號(hào)申請(qǐng)要求2014年11月26日提交的第62/085,209號(hào)美國(guó)臨時(shí)申請(qǐng)和2015年2月24日提交的第62/119,963號(hào)美國(guó)臨時(shí)申請(qǐng)的權(quán)益,這兩個(gè)臨時(shí)申請(qǐng)?jiān)诖巳恳胱鳛閰⒖肌?/p>
本公開(kāi)的實(shí)施例一般地涉及數(shù)據(jù)處理。更具體地說(shuō)但并非限制,本公開(kāi)涉及用于基于文本的通信、語(yǔ)音注釋和語(yǔ)音通信的混合的系統(tǒng)和方法。
背景技術(shù):
電信應(yīng)用可以使用諸如文本、圖像、錄音和/或錄像之類的各種媒體,提供多個(gè)用戶之間的通信。這些應(yīng)用通常針對(duì)通信的單個(gè)媒體(例如,文本或語(yǔ)音)。為了使用不同媒體通信而在多個(gè)應(yīng)用之間轉(zhuǎn)換可能是繁瑣的,需要用戶停止使用一個(gè)應(yīng)用,并且開(kāi)始使用另一個(gè)應(yīng)用。因此,越來(lái)越多地需要改善與電信應(yīng)用關(guān)聯(lián)的體驗(yàn)。
附圖說(shuō)明
附圖中的各個(gè)圖僅例示本公開(kāi)的實(shí)例實(shí)施例,并且不應(yīng)被認(rèn)為是限制其范圍,這些附圖是:
圖1是示出根據(jù)某些實(shí)例實(shí)施例的網(wǎng)絡(luò)系統(tǒng)的框圖;
圖2是示出根據(jù)某些實(shí)例實(shí)施例的通信混合系統(tǒng)的圖;
圖3是示出根據(jù)某些實(shí)例實(shí)施例的用于使用與用戶界面關(guān)聯(lián)的手勢(shì)混合通信的實(shí)例方法的流程圖;
圖4是示出根據(jù)某些實(shí)例實(shí)施例的用于混合通信的實(shí)例方法的流程圖;
圖5是示出根據(jù)某些實(shí)例實(shí)施例的用于混合通信類型以便參與聊天會(huì)話的實(shí)例方法的流程圖;
圖6示出根據(jù)某些實(shí)例實(shí)施例的導(dǎo)致通信模式變化的實(shí)例用戶交互;
圖7a-7c示出根據(jù)某些實(shí)例實(shí)施例的導(dǎo)致通信模式變化的實(shí)例用戶交互;
圖8-14示出根據(jù)某些實(shí)例實(shí)施例的被配置為接收文本和語(yǔ)音注釋的組合的實(shí)例用戶界面;
圖15是示出根據(jù)某些實(shí)例實(shí)施例的實(shí)例移動(dòng)設(shè)備和移動(dòng)操作系統(tǒng)界面的用戶界面圖;
圖16是示出根據(jù)某些實(shí)例實(shí)施例的可以安裝在機(jī)器上的軟件架構(gòu)的一個(gè)實(shí)例的框圖;
圖17是根據(jù)一個(gè)實(shí)例實(shí)施例的呈現(xiàn)計(jì)算機(jī)系統(tǒng)形式的機(jī)器的圖形表示的框圖,在所述機(jī)器內(nèi)可以執(zhí)行一組指令以便導(dǎo)致所述機(jī)器執(zhí)行在此討論的任何方法。
在此提供的標(biāo)題僅為了方便起見(jiàn),并且不影響所使用術(shù)語(yǔ)的范圍或含義。
具體實(shí)施方式
下面的描述包括體現(xiàn)本公開(kāi)的示例性實(shí)施例的系統(tǒng)、方法、技術(shù)、指令序列、以及計(jì)算機(jī)程序產(chǎn)品。在下面的描述中,為了解釋的目的,給出許多特定的細(xì)節(jié)以便提供對(duì)本發(fā)明主題的各種實(shí)施例的理解。但是,對(duì)于本領(lǐng)域技術(shù)人員顯而易見(jiàn)的是,可以在沒(méi)有這些特定的細(xì)節(jié)的情況下實(shí)現(xiàn)本發(fā)明主題的實(shí)施例。通常,未詳細(xì)示出公知的指令實(shí)例、協(xié)議、結(jié)構(gòu)和技術(shù)。
描述了一種通信混合系統(tǒng),其允許兩個(gè)用戶使用不同媒體的組合(例如,語(yǔ)音和文本)通信。所述通信混合系統(tǒng)使用設(shè)備的手勢(shì)和方向變化以便在采用不同媒體的通信模式之間轉(zhuǎn)換。此外,所述通信混合系統(tǒng)使用通信的一方或多方的手勢(shì)和方向變化以便在同步或異步通信之間轉(zhuǎn)換。在某些實(shí)施例中,通信可以在單個(gè)應(yīng)用或者跨多個(gè)應(yīng)用的上下文內(nèi)。
如果所述通信混合系統(tǒng)促進(jìn)通信各方(用戶)中的同步與異步通信之間的轉(zhuǎn)換,則所述通信混合系統(tǒng)能夠?qū)е掠赏ㄐ乓环绞褂玫挠脩粼O(shè)備的通信模式變化(例如,從采用異步通信的模式到采用同步通信的模式),這種通信模式變化基于通信其它方的手勢(shì)或方向變化。例如,一方的一個(gè)客戶機(jī)設(shè)備的手勢(shì)和方向變化能夠?qū)е峦ㄐ帕硪环降牧硪粋€(gè)客戶機(jī)設(shè)備的通信模式變化。
此外,在某些實(shí)施例中,所述通信混合系統(tǒng)的各部分能夠被集成在由通信各方使用的客戶機(jī)設(shè)備上操作的應(yīng)用或操作系統(tǒng)中,或者與這些應(yīng)用或操作系統(tǒng)通信。以這種方式,所述通信混合系統(tǒng)能夠促進(jìn)來(lái)自操作系統(tǒng)的任何應(yīng)用、文檔、文件或?qū)嵗挠脩糁g的通信。在這些實(shí)施例中,所述通信混合系統(tǒng)能夠促進(jìn)應(yīng)用之間的通信,將在第一客戶機(jī)設(shè)備的第一應(yīng)用中生成的異步或同步通信傳輸?shù)降诙蛻魴C(jī)設(shè)備,以及在某些情況下傳輸?shù)降诙蛻魴C(jī)設(shè)備上的第二應(yīng)用。例如,所述通信混合系統(tǒng)能夠從第一客戶機(jī)設(shè)備的第一應(yīng)用接收錄音形式的通信,執(zhí)行語(yǔ)音到文本轉(zhuǎn)換以便生成轉(zhuǎn)錄通信,并且將轉(zhuǎn)錄后的通信傳輸?shù)降诙蛻魴C(jī)設(shè)備以便由第二應(yīng)用接收或者發(fā)布到與第二客戶機(jī)設(shè)備關(guān)聯(lián)的社交媒體簡(jiǎn)檔。
作為在單個(gè)應(yīng)用中執(zhí)行通信的實(shí)施例的一個(gè)實(shí)例,下面描述第一用戶與第二用戶之間的通信會(huì)話。為了開(kāi)始通信會(huì)話,第一用戶可以使用移動(dòng)電話(作為客戶機(jī)設(shè)備的一個(gè)實(shí)例)的觸摸屏滑入與第二用戶的聊天。第一用戶將移動(dòng)電話拿到耳邊,并且可以開(kāi)始留下語(yǔ)音注釋(其它開(kāi)始語(yǔ)音注釋的方法也是可能的,例如包括將設(shè)備旋轉(zhuǎn)180度等)。當(dāng)留下語(yǔ)音注釋時(shí),第二用戶可以接收通知她來(lái)自第一用戶的傳入通信的推送通知。當(dāng)?shù)谝挥脩粽诰帉懻Z(yǔ)音注釋時(shí),第一用戶的語(yǔ)音注釋的各部分被轉(zhuǎn)錄為文本并且隨著語(yǔ)音注釋一起被傳輸?shù)降诙脩簟?/p>
第二用戶可以通過(guò)讀取第一用戶的正在進(jìn)行的語(yǔ)音注釋的轉(zhuǎn)錄版本開(kāi)始,以便獲得與第一用戶的對(duì)話的上下文。在確定對(duì)話是感興趣的并且希望然后與第一用戶進(jìn)行語(yǔ)音對(duì)話時(shí),第二用戶然后可以將她的移動(dòng)電話拿到耳邊以便與第一用戶說(shuō)話(再次地,其它切換模式的方法是可能的,例如包括旋轉(zhuǎn)設(shè)備)。以這種方式,本技術(shù)使第二用戶能夠改變通信模式(例如,響應(yīng)于第二用戶拿起其設(shè)備而在文本與語(yǔ)音之間改變)。在拿起設(shè)備從而改變通信模式之后,第二用戶和第一用戶能夠通過(guò)語(yǔ)音呼叫同步交談。
在語(yǔ)音呼叫期間,第二用戶可以選擇退出同步語(yǔ)音呼叫(例如,由于進(jìn)入其中難以或不適合交談的環(huán)境)。在這種情況下,當(dāng)?shù)谝挥脩衾^續(xù)交談時(shí),第二用戶可以放低其移動(dòng)電話(或者旋轉(zhuǎn)設(shè)備)以便退出聊天?;诘诙脩舴诺推湓O(shè)備,第一用戶的移動(dòng)電話被切換回到用于記錄語(yǔ)音注釋的通信模式。同樣,第二用戶的設(shè)備回到用于接收文本和語(yǔ)音注釋的通信模式。第一用戶的設(shè)備繼續(xù)記錄第一用戶直到他完成交談。將記錄發(fā)送到第二用戶的設(shè)備,作為新語(yǔ)音注釋或者作為開(kāi)始通信的第一用戶的語(yǔ)音注釋的繼續(xù)。在他完成交談之后,第一用戶可以滑動(dòng)其設(shè)備的觸摸屏以便結(jié)束聊天。
在一段時(shí)間之后,第二用戶可以滑動(dòng)其設(shè)備的觸摸屏以便恢復(fù)與第一用戶的聊天。在第二用戶退出聊天之后,系統(tǒng)可以向第二用戶呈現(xiàn)由第一用戶留下的語(yǔ)音注釋和語(yǔ)音注釋的文本版本。
可以使用任何數(shù)量的用戶動(dòng)作開(kāi)始通信模式變化。如前所述,將設(shè)備旋轉(zhuǎn)180度可以用于將電話的麥克風(fēng)放置得更靠近用戶的嘴邊。在這些和其它實(shí)施例中,以這種方式旋轉(zhuǎn)設(shè)備可以開(kāi)始用于語(yǔ)音(和/或語(yǔ)音注釋)通信的免提模式。通過(guò)旋轉(zhuǎn),用戶設(shè)備的顯示屏也可以旋轉(zhuǎn),從而允許用戶繼續(xù)利用他/她的設(shè)備的顯示。
通過(guò)進(jìn)一步實(shí)例,用戶可以通過(guò)從聊天窗口向上滑動(dòng)來(lái)切換通信模式,從而在過(guò)滾動(dòng)(overscroll)中顯示語(yǔ)音注釋,向用戶指示他或她已進(jìn)入語(yǔ)音通信模式。在這些實(shí)施例中,用戶可以通過(guò)在聊天窗口中向下滑動(dòng)來(lái)退出語(yǔ)音通信模式。
參考上面列出的附圖,在下面的技術(shù)細(xì)節(jié)中描述可以用于促進(jìn)上述通信會(huì)話的一種實(shí)例系統(tǒng)。所述實(shí)例系統(tǒng)可以包括所述通信混合系統(tǒng)或者執(zhí)行通信混合系統(tǒng)的功能的一組模塊。所述通信混合系統(tǒng)使用戶能夠傳輸諸如語(yǔ)音注釋(例如,語(yǔ)音郵件消息和語(yǔ)音到文本消息)之類的通信段,并且在與通信段交互之間轉(zhuǎn)換以便與其它用戶進(jìn)行雙向通信。
例如,用戶可以執(zhí)行基于觸摸的手勢(shì),例如在文本輸入框上向右滑動(dòng),從而使用戶能夠針對(duì)另一個(gè)用戶生成通信段。在某些情況下,可以通過(guò)記錄語(yǔ)音郵件注釋(在此,也被稱為音頻注釋)并且將其傳輸?shù)搅硪粋€(gè)用戶(例如,異步通信)來(lái)生成通信段。在某些實(shí)施例中,可以在聊天會(huì)話中生成和傳輸音頻注釋(例如,通信段)。在某些情況下,音頻注釋可以在不同于通信應(yīng)用(例如,聊天客戶機(jī))的應(yīng)用中生成和傳輸,并且通過(guò)指定的通信應(yīng)用或者經(jīng)由客戶機(jī)設(shè)備的傳輸組件和過(guò)程以及用戶設(shè)備的操作系統(tǒng)來(lái)傳輸。
語(yǔ)音郵件注釋可以是音頻文件、語(yǔ)音到文本消息(例如,通過(guò)音頻文件的轉(zhuǎn)錄生成的文本消息)或它們的組合。用戶還可以跨文本輸入框的長(zhǎng)度向右滑動(dòng)以便參與用戶之間的語(yǔ)音呼叫(例如,同步通信)?;瑒?dòng)動(dòng)作可以導(dǎo)致所述通信混合系統(tǒng)呈現(xiàn)通信段圖標(biāo)(例如,麥克風(fēng)按鈕)、交互式用戶界面元素或另一個(gè)指示符。在某些實(shí)施例中,可以向用戶呈現(xiàn)波形圖或動(dòng)畫作為文本輸入框的覆蓋以便指示正在記錄用戶的語(yǔ)音。
滑動(dòng)動(dòng)作可以是用戶界面操作,其中用戶觸摸觸摸屏或者跨示出用戶界面一部分的屏幕的至少一部分沿著某一方向以其它方式操縱光標(biāo)、指針等。例如,用戶可以將手指放置在客戶機(jī)設(shè)備的觸摸屏上,并且在保持與觸摸屏接觸的同時(shí)部分或全部跨觸摸屏拖動(dòng)手指。盡管描述為向右滑動(dòng),但應(yīng)該理解,滑動(dòng)動(dòng)作可以沿著任何合適的方向、方向組合或形狀(或其它合適的動(dòng)作)。
用戶可以與通信段圖標(biāo)交互(例如,按壓觸摸屏靠近通信段圖標(biāo)的一部分)以便生成通信段(例如,音頻注釋)。例如,用戶可以在一段時(shí)間內(nèi)持續(xù)按住通信段圖標(biāo),在該時(shí)間段內(nèi),用戶可以對(duì)著客戶機(jī)設(shè)備的輸入(例如,麥克風(fēng))說(shuō)話以便生成通信段。當(dāng)用戶釋放通信段圖標(biāo)時(shí),通信段完成。通信段然后可以作為音頻注釋被傳輸,或者可以作為基于文本的通信段被轉(zhuǎn)錄和傳輸。如果通信段被轉(zhuǎn)錄,則可以在通信段的記錄或生成期間或者在通信段的生成已完成之后轉(zhuǎn)錄通信段。
如果通信段是音頻注釋,則所述通信混合系統(tǒng)可以重放音頻注釋以便檢查,并且然后將音頻注釋傳輸?shù)降诙脩簟R纛l注釋還可以自動(dòng)傳輸或者在用戶與所述通信混合系統(tǒng)交互時(shí)傳輸,例如通過(guò)在用戶界面屏幕上點(diǎn)擊交互式傳輸圖標(biāo)。音頻注釋的接收者可以以文本和音頻格式的一種或多種同時(shí)接收注釋。例如,音頻注釋可以由所述通信混合系統(tǒng)呈現(xiàn)為基于文本的消息,如上所述,這將音頻注釋的轉(zhuǎn)錄文本和音頻兩者呈現(xiàn)給接收者。音頻注釋還可以由音頻文件同時(shí)表示。因此,接收者可以將通信段作為同一呈現(xiàn)內(nèi)的文本或音頻進(jìn)行檢查。
所述通信混合系統(tǒng)可以響應(yīng)于諸如客戶機(jī)設(shè)備的移動(dòng)或位置改變之類的觸發(fā),在通信模式之間切換。例如,所述通信混合系統(tǒng)可以響應(yīng)于檢測(cè)到客戶機(jī)設(shè)備的空間位置或方向的變化(例如,如由陀螺儀、加速度計(jì)或客戶機(jī)設(shè)備的其它傳感器確定),在接收語(yǔ)音注釋與參與呼叫(例如,全雙工通信)之間切換。
在某些情況下,第一用戶交互(例如,方向變化或手勢(shì))和第二用戶交互的組合導(dǎo)致所述通信混合系統(tǒng)在通信模式之間切換。例如,設(shè)備的方向變化的第一用戶交互可以導(dǎo)致從基于文本的通信模式切換到基于語(yǔ)音的通信模式(例如,電話呼叫)。第二用戶交互(例如,對(duì)著設(shè)備的麥克風(fēng)說(shuō)話,在設(shè)備將電話呼叫連接到另一個(gè)用戶之前)可以導(dǎo)致從基于語(yǔ)音的通信模式(例如,電話呼叫)切換到語(yǔ)音轉(zhuǎn)錄模式。語(yǔ)音轉(zhuǎn)錄模式導(dǎo)致所述通信混合系統(tǒng)傳輸從用戶的語(yǔ)音交互轉(zhuǎn)錄的基于文本的通信段。以這種方式,能夠基于一個(gè)或多個(gè)用戶交互(包括手勢(shì)、與設(shè)備的輸入的觸覺(jué)交互、方向變化、語(yǔ)音交互以及與設(shè)備的其它用戶交互),動(dòng)態(tài)地調(diào)整通信模式。
所述通信混合系統(tǒng)還可以基于與客戶機(jī)設(shè)備通信的第二客戶機(jī)設(shè)備的模式指示,將通信模式的切換或沒(méi)有切換設(shè)置為基礎(chǔ)。例如,響應(yīng)于客戶機(jī)設(shè)備的移動(dòng)或位置變化,所述通信混合系統(tǒng)可以嘗試切換到用于電話呼叫的通信模式。所述通信混合系統(tǒng)可以從要被呼叫的第二或接收者設(shè)備接收模式指示。模式指示可以指示接收者設(shè)備不可用于電話呼叫。因此,所述通信混合系統(tǒng)可以防止客戶機(jī)設(shè)備切換到呼叫通信模式。例如,所述通信混合系統(tǒng)可以響應(yīng)于模式指示而維持基于文本的通信模式,而不考慮客戶機(jī)設(shè)備的位置變化。
如果接收者客戶機(jī)設(shè)備傳輸模式指示,則所述通信混合系統(tǒng)可以確定與動(dòng)作變化和模式指示兼容的兼容通信模式。例如,接收者客戶機(jī)設(shè)備可以傳輸指示其不可用于電話呼叫的模式指示。當(dāng)客戶機(jī)設(shè)備移動(dòng)到用于電話呼叫的位置時(shí),所述通信混合系統(tǒng)禁止切換到電話呼叫通信模式,而是切換到語(yǔ)音郵件注釋通信模式。
圖1是示出根據(jù)一個(gè)實(shí)施例的網(wǎng)絡(luò)系統(tǒng)100的網(wǎng)絡(luò)圖,網(wǎng)絡(luò)系統(tǒng)100具有被配置為通過(guò)網(wǎng)絡(luò)交換數(shù)據(jù)的客戶機(jī)-服務(wù)器架構(gòu)。例如,網(wǎng)絡(luò)系統(tǒng)100可以是消息傳送系統(tǒng),其中客戶機(jī)在網(wǎng)絡(luò)系統(tǒng)100內(nèi)通信和交換數(shù)據(jù)。數(shù)據(jù)可以涉及與網(wǎng)絡(luò)系統(tǒng)100及其用戶關(guān)聯(lián)的各種功能(例如,發(fā)送和接收文本和媒體通信,確定地理定位等)和方面(例如,傳輸通信數(shù)據(jù),接收和發(fā)送通信會(huì)話的指示等)。盡管在此被示為客戶機(jī)-服務(wù)器架構(gòu),但其它實(shí)施例可以包括其它網(wǎng)絡(luò)架構(gòu),例如對(duì)等或分布式網(wǎng)絡(luò)環(huán)境。
如圖1中所示,網(wǎng)絡(luò)系統(tǒng)100包括社交消息傳送系統(tǒng)130。社交消息傳送系統(tǒng)130通?;诎ń涌趯?24、應(yīng)用邏輯層126和數(shù)據(jù)層128的三層架構(gòu)。如由相關(guān)計(jì)算機(jī)和因特網(wǎng)相關(guān)領(lǐng)域的技術(shù)人員理解的,圖1中所示的每個(gè)模塊或引擎表示一組可執(zhí)行軟件指令和用于執(zhí)行指令的對(duì)應(yīng)硬件(例如,存儲(chǔ)器和處理器)。為了避免使用不必要的細(xì)節(jié)掩蓋發(fā)明主題,圖1中已省略與傳達(dá)對(duì)發(fā)明主題的理解無(wú)關(guān)的各種功能模塊和引擎。當(dāng)然,其它功能模塊和引擎可以與例如圖1中所示的社交消息傳送系統(tǒng)一起使用,以便促進(jìn)在此未具體描述的其它功能。此外,圖1中所示的各種功能模塊和引擎可以駐留在單個(gè)服務(wù)器計(jì)算機(jī)上,或者可以以各種布置跨數(shù)個(gè)服務(wù)器計(jì)算機(jī)分布。此外,盡管社交消息傳送系統(tǒng)130在圖1中被示為三層架構(gòu),但發(fā)明主題決不限于這種架構(gòu)。
如圖1中所示,接口層124包括接口模塊(例如,web服務(wù)器)140,其接收來(lái)自各種客戶機(jī)-計(jì)算設(shè)備和服務(wù)器的請(qǐng)求,這些客戶機(jī)-計(jì)算設(shè)備和服務(wù)器例如包括執(zhí)行客戶機(jī)應(yīng)用(多個(gè))112的客戶機(jī)設(shè)備110和執(zhí)行第三方應(yīng)用(多個(gè))122的第三方服務(wù)器120。響應(yīng)于所接收的請(qǐng)求,接口模塊140經(jīng)由網(wǎng)絡(luò)104將適當(dāng)?shù)捻憫?yīng)傳送到發(fā)出請(qǐng)求的設(shè)備。例如,接口模塊140可以接收諸如超文本傳輸協(xié)議(http)請(qǐng)求或其它基于web的應(yīng)用編程接口(api)請(qǐng)求之類的請(qǐng)求。
客戶機(jī)設(shè)備110可以執(zhí)行一個(gè)或多個(gè)常規(guī)web瀏覽器應(yīng)用(也被稱為“app”),這些應(yīng)用已針對(duì)特定平臺(tái)開(kāi)發(fā)以便包括各種移動(dòng)計(jì)算設(shè)備和移動(dòng)特定操作系統(tǒng)(例如iostm、androidtm、
如圖1中所示,數(shù)據(jù)層128具有數(shù)據(jù)庫(kù)服務(wù)器132,其促進(jìn)對(duì)信息存儲(chǔ)庫(kù)或數(shù)據(jù)庫(kù)134的訪問(wèn)。數(shù)據(jù)庫(kù)134是存儲(chǔ)設(shè)備,其存儲(chǔ)諸如成員簡(jiǎn)檔數(shù)據(jù)、社交圖數(shù)據(jù)(例如,社交消息傳送系統(tǒng)130的成員之間的關(guān)系)和其它用戶數(shù)據(jù)之類的數(shù)據(jù)。
個(gè)人可以注冊(cè)到社交消息傳送系統(tǒng)130以便成為社交消息傳送系統(tǒng)130的成員。在注冊(cè)之后,成員可以在社交消息傳送系統(tǒng)130上形成社交網(wǎng)絡(luò)關(guān)系(例如,朋友、追隨者或聯(lián)系人),并且與由社交消息傳送系統(tǒng)130提供的廣泛應(yīng)用交互。
應(yīng)用邏輯層126包括各種應(yīng)用邏輯模塊150,這些應(yīng)用邏輯模塊與接口模塊140結(jié)合,使用從數(shù)據(jù)層128中的各種數(shù)據(jù)源或數(shù)據(jù)服務(wù)取回的數(shù)據(jù)生成各種用戶界面。個(gè)體應(yīng)用邏輯模塊150可以用于實(shí)現(xiàn)與社交消息傳送系統(tǒng)130的各種應(yīng)用、服務(wù)和特性關(guān)聯(lián)的功能。例如,可以通過(guò)應(yīng)用邏輯模塊150實(shí)現(xiàn)社交消息傳送應(yīng)用。社交消息傳送應(yīng)用向客戶機(jī)設(shè)備110的用戶提供消息傳送機(jī)制,以便發(fā)送和接收包括文本和媒體內(nèi)容(例如圖片和視頻)的消息。客戶機(jī)設(shè)備110可以在指定時(shí)間段(例如,有限或無(wú)限)內(nèi)訪問(wèn)和查看來(lái)自社交消息傳送應(yīng)用的消息。在一個(gè)實(shí)例中,消息接收者可以在首次訪問(wèn)特定消息時(shí)開(kāi)始的預(yù)定義持續(xù)時(shí)間(例如,由消息發(fā)送者指定)內(nèi)訪問(wèn)該特定消息。在預(yù)定義持續(xù)時(shí)間經(jīng)過(guò)之后,消息被刪除并且不再可由消息接收者訪問(wèn)。當(dāng)然,其它應(yīng)用和服務(wù)可以分別在它們自己的應(yīng)用邏輯模塊150中體現(xiàn)。
如圖1中所示,社交消息傳送系統(tǒng)130包括通信混合系統(tǒng)160,通信混合系統(tǒng)160能夠傳輸客戶機(jī)設(shè)備110的控制信號(hào)。同樣,客戶機(jī)設(shè)備110包括通信混合系統(tǒng)160的一部分。在其它實(shí)例中,客戶機(jī)設(shè)備110可以包括完整的通信混合系統(tǒng)160。在客戶機(jī)設(shè)備110包括通信混合系統(tǒng)160的一部分(或全部)的情況下,客戶機(jī)設(shè)備110可以單獨(dú)工作或者與社交消息傳送系統(tǒng)130協(xié)同工作以便提供在此描述的通信混合系統(tǒng)160的功能。
在圖2中,在各種實(shí)施例中,通信混合系統(tǒng)160可以被實(shí)現(xiàn)為獨(dú)立系統(tǒng),并且無(wú)需被包括在社交消息傳送系統(tǒng)130中。通信混合系統(tǒng)160被示為包括通信模塊210、呈現(xiàn)模塊220、傳感器模塊230、確定模塊240、管理模塊250、以及數(shù)據(jù)模塊260。模塊210-260的全部或部分例如經(jīng)由網(wǎng)絡(luò)耦合、共享存儲(chǔ)器等相互通信。模塊210-260中的每個(gè)模塊可以被實(shí)現(xiàn)為單個(gè)模塊,組合成其它模塊,或者進(jìn)一步細(xì)分為多個(gè)模塊。還可以包括與實(shí)例實(shí)施例不相關(guān)的其它模塊,但它們未被示出。
通信模塊210提供各種通信功能。例如,通信模塊210接收指示從客戶機(jī)設(shè)備110的輸入接收的數(shù)據(jù)的通信數(shù)據(jù)。通信數(shù)據(jù)可以指示由客戶機(jī)設(shè)備上的用戶編寫的消息以便存儲(chǔ)或傳輸?shù)搅硪粋€(gè)用戶的客戶機(jī)設(shè)備。通信模塊210可以導(dǎo)致經(jīng)由通信網(wǎng)絡(luò)在客戶機(jī)設(shè)備之間傳輸通信數(shù)據(jù),或者可以導(dǎo)致客戶機(jī)設(shè)備110將通信數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)模塊260或與數(shù)據(jù)模塊260關(guān)聯(lián)的存儲(chǔ)介質(zhì)內(nèi)。
在某些情況下,通信模塊210包括轉(zhuǎn)錄模塊,轉(zhuǎn)錄模塊能夠接收一個(gè)或多個(gè)通信段(例如,音頻或語(yǔ)音通信數(shù)據(jù))并且執(zhí)行語(yǔ)音到文本轉(zhuǎn)換,轉(zhuǎn)錄通信段內(nèi)的單詞以便生成轉(zhuǎn)錄后的通信??梢栽诰哂谢驔](méi)有從中生成轉(zhuǎn)錄后的通信的通信段的情況下傳輸轉(zhuǎn)錄后的通信。轉(zhuǎn)錄模塊可以包括能夠?qū)⑼ㄐ哦蔚乃f(shuō)話語(yǔ)轉(zhuǎn)錄為文本的語(yǔ)音識(shí)別操作和功能。
在某些實(shí)施例中,當(dāng)通信模塊210接收指示基于音頻的通信段的通信數(shù)據(jù)時(shí),轉(zhuǎn)錄模塊可以生成第一中斷以便轉(zhuǎn)錄該通信段。轉(zhuǎn)錄模塊可以在指示該通信段的終止時(shí)生成第二中斷。例如,可以通過(guò)以下項(xiàng)指示通信段的終止:接收通信數(shù)據(jù)的暫停(例如,在預(yù)定時(shí)間段內(nèi)停止語(yǔ)音)、用戶交互(例如,與用戶界面元素的交互)、客戶機(jī)設(shè)備110的方向變化、或者指示通信段的終止的其它交互或觸發(fā)。
通信模塊210還可以接收用于一組通信模式的配置數(shù)據(jù),例如導(dǎo)致多種通信模式之間的轉(zhuǎn)換的中斷和通知指示符(例如,向用戶通知通信會(huì)話或通信模式的開(kāi)始、終止或轉(zhuǎn)換)。通信模塊210可以與數(shù)據(jù)庫(kù)服務(wù)器132、客戶機(jī)設(shè)備110和第三方服務(wù)器120交換網(wǎng)絡(luò)通信。由通信模塊210取回的信息包括與用戶關(guān)聯(lián)的數(shù)據(jù)(例如,來(lái)自在線帳戶的成員簡(jiǎn)檔數(shù)據(jù)或社交網(wǎng)絡(luò)服務(wù)數(shù)據(jù))或其它數(shù)據(jù),以便促進(jìn)在此描述的功能。
呈現(xiàn)模塊220提供各種呈現(xiàn)和用戶界面功能,它們可操作以便交互地向用戶呈現(xiàn)信息并且從用戶接收信息。例如,呈現(xiàn)模塊220導(dǎo)致呈現(xiàn)用戶106與其交互的用戶界面元素,以便導(dǎo)致或開(kāi)始執(zhí)行通信混合系統(tǒng)160的操作。此外,呈現(xiàn)模塊220導(dǎo)致呈現(xiàn)所接收的消息的指示、正在被輸入的消息的指示(例如,在傳輸消息之前正在被輸入的消息的內(nèi)容)以及所傳輸?shù)南⒌闹甘?。呈現(xiàn)模塊220導(dǎo)致在用戶界面上或者在客戶機(jī)設(shè)備110的顯示器中呈現(xiàn)指示或通知(例如,包括在客戶機(jī)設(shè)備110的用戶界面上通過(guò)虛擬鍵盤或通信段圖標(biāo)正在被輸入的消息的指示)。在通信混合系統(tǒng)160與聊天應(yīng)用交互或者形成聊天應(yīng)用的一部分的實(shí)施例中,呈現(xiàn)模塊220可以導(dǎo)致呈現(xiàn)聊天開(kāi)始或聊天通知。呈現(xiàn)模塊220呈現(xiàn)或?qū)е鲁尸F(xiàn)信息(例如,在屏幕上可視地顯示信息、聲音輸出、觸覺(jué)反饋)。該信息的呈現(xiàn)包括客戶機(jī)設(shè)備110與用戶106之間的信息交換。
用戶可以以許多可能方式提供輸入以便與用戶界面(由呈現(xiàn)模塊220全部或部分呈現(xiàn))交互,例如字母數(shù)字、基于點(diǎn)(例如,光標(biāo))、觸覺(jué)或其它輸入(例如,觸摸屏、觸覺(jué)傳感器、光傳感器、紅外線傳感器、生物測(cè)量傳感器、麥克風(fēng)、陀螺儀、加速度計(jì)或其它傳感器)等。呈現(xiàn)模塊220提供許多其它用戶界面以便促進(jìn)用戶與客戶機(jī)設(shè)備110的交互,并且包括在此描述的功能。如在此使用的,術(shù)語(yǔ)“呈現(xiàn)”旨在包括將信息或指令傳送到特定設(shè)備,該特定設(shè)備可操作以便基于所傳送的信息或指令執(zhí)行呈現(xiàn)。
傳感器模塊230提供各種傳感器輸入功能。在某些實(shí)例實(shí)施例中,傳感器模塊230可以包括位置傳感器和方向傳感器,以便將客戶機(jī)設(shè)備110的位置和方向數(shù)據(jù)提供給通信模塊210、呈現(xiàn)模塊220、確定模塊240、管理模塊250、以及數(shù)據(jù)模塊260中的一個(gè)或多個(gè)。例如,位置傳感器和方向傳感器可以生成指示設(shè)備的位置(例如,高度或高程)和方向(例如,垂直或水平方向)的數(shù)據(jù)或信號(hào)。在某些實(shí)施例中,傳感器模塊230不包括位置傳感器和方向傳感器,而是從位置傳感器和方向傳感器接收輸入以便向上述模塊提供位置和方向數(shù)據(jù)。例如,傳感器模塊230可以從位于傳感器模塊230外部的設(shè)備內(nèi)的位置傳感器和方向傳感器接收傳感器數(shù)據(jù),所述傳感器數(shù)據(jù)指示客戶機(jī)設(shè)備110的高度、高程變化或相對(duì)高程和方向。
盡管被討論為位置傳感器和方向傳感器,但應(yīng)該理解,客戶機(jī)設(shè)備110或傳感器模塊230可以包含能夠提供與客戶機(jī)設(shè)備110的位置和方向?qū)?yīng)的數(shù)據(jù)的任何數(shù)量的傳感器。此外,傳感器模塊230可以接收對(duì)應(yīng)于客戶機(jī)設(shè)備110的位置的其它數(shù)據(jù),例如相對(duì)位置、位置變化、水平位置變化、重復(fù)動(dòng)作(例如,搖動(dòng))、加速度計(jì)數(shù)據(jù),或者用于客戶機(jī)設(shè)備110的位置的各方面的其它物理傳感器數(shù)據(jù)。
在某些情況下,傳感器模塊230可以包括麥克風(fēng),或者與客戶機(jī)設(shè)備110的麥克風(fēng)通信。在這些實(shí)施例中,麥克風(fēng)提供通信數(shù)據(jù)(例如,通信段)、語(yǔ)音激活的指令數(shù)據(jù)(例如,語(yǔ)音命令),或者通常指示用戶106向麥克風(fēng)發(fā)起語(yǔ)音的語(yǔ)音數(shù)據(jù)。由麥克風(fēng)接收的語(yǔ)音數(shù)據(jù)可以用于導(dǎo)致用戶生成的中斷,該中斷指示通信混合系統(tǒng)160的語(yǔ)音控制。在某些實(shí)施例中,語(yǔ)音數(shù)據(jù)可以與來(lái)自位置傳感器和方向傳感器的數(shù)據(jù)結(jié)合使用以便生成導(dǎo)致通信混合系統(tǒng)160執(zhí)行在此討論的一個(gè)或多個(gè)操作的中斷。
確定模塊240可以解釋從傳感器模塊230接收的數(shù)據(jù),以便確定用于由呈現(xiàn)模塊220在客戶機(jī)設(shè)備110的用戶界面上呈現(xiàn)的通信模式。例如,確定模塊240可以接收位置數(shù)據(jù)和語(yǔ)音數(shù)據(jù),所述位置數(shù)據(jù)指示客戶機(jī)設(shè)備110的垂直位置變化,例如用戶將客戶機(jī)設(shè)備110(例如,移動(dòng)電話)拿到用戶的嘴邊以便說(shuō)話,所述語(yǔ)音數(shù)據(jù)指示用戶106開(kāi)始通信段(例如,對(duì)著客戶機(jī)設(shè)備110的麥克風(fēng)說(shuō)話)。確定模塊240執(zhí)行從一組通信模式確定期望通信模式。通信模式包括基于文本的通信模式、基于媒體的通信模式、基于音頻的通信模式、音頻消息模式、它們的組合以及其它合適的通信模式。
在從一組通信模式確定期望通信模式時(shí),確定模塊240可以基于預(yù)定閾值解釋傳感器數(shù)據(jù)。例如,傳感器模塊230可以傳遞指示客戶機(jī)設(shè)備110的高程增加的傳感器數(shù)據(jù)。確定模塊240可以將高程增加與高程閾值相比較,以使得高于高程閾值的高程增加導(dǎo)致確定模塊240生成用于將當(dāng)前通信模式改變?yōu)槠谕ㄐ拍J降闹甘净蛐盘?hào)。
作為另一個(gè)實(shí)例,傳感器模塊230可以傳遞指示語(yǔ)音數(shù)據(jù)的傳感器數(shù)據(jù)。確定模塊240可以將語(yǔ)音數(shù)據(jù)與持續(xù)時(shí)間閾值、音量閾值或預(yù)定命令集相比較,以使得高于音量閾值并且超過(guò)持續(xù)時(shí)間閾值的語(yǔ)音數(shù)據(jù)導(dǎo)致確定模塊240生成導(dǎo)致從當(dāng)前通信模式到期望通信模式的變化的中斷。確定模塊240可以將語(yǔ)音數(shù)據(jù)與預(yù)定命令集相比較,以使得如果語(yǔ)音數(shù)據(jù)包括預(yù)定命令集的一個(gè)或多個(gè)命令,則確定模塊240生成導(dǎo)致從當(dāng)前通信模式到期望通信模式的變化的中斷,該變化與語(yǔ)音數(shù)據(jù)中包含的一個(gè)或多個(gè)命令相應(yīng)。
為了進(jìn)一步例示確定模塊240的實(shí)例功能,可以將客戶機(jī)設(shè)備110初始設(shè)置為基于文本的通信模式。傳感器模塊230接收指示高程增加多于十二英寸(即,大于三十厘米)的傳感器數(shù)據(jù)。傳感器模塊230將傳感器數(shù)據(jù)傳遞到確定模塊240。確定模塊240將傳感器數(shù)據(jù)與值為六英寸(即,大約十五厘米)的高程閾值相比較。確定傳感器數(shù)據(jù)指示高程變化大于高程閾值后,確定模塊240生成指示通信模式應(yīng)該從基于文本的通信模式改變?yōu)榛谝纛l的通信模式的信號(hào)。即,高程變化導(dǎo)致確定模塊240確定用戶已將客戶機(jī)設(shè)備110拿到較高位置,以便通過(guò)對(duì)著設(shè)備說(shuō)話而不是輸入基于文本的消息來(lái)繼續(xù)當(dāng)前聊天會(huì)話。確定模塊240將模式變化指示傳遞到管理模塊250,以便導(dǎo)致客戶機(jī)設(shè)備110改變?yōu)槠谕ㄐ拍J健?/p>
在某些實(shí)例實(shí)施例中,通信混合系統(tǒng)160可以通過(guò)確定模塊240接收指示以下項(xiàng)的傳感器數(shù)據(jù),從全雙工語(yǔ)音通信轉(zhuǎn)換為基于語(yǔ)音的通信段(例如,語(yǔ)音注釋或音頻注釋)或基于文本的通信段(例如,文本消息):橫向位置變化(例如,用戶106將客戶機(jī)設(shè)備110從靠近用戶耳朵的位置移動(dòng)到用戶的嘴/臉之前的位置,指示用戶在當(dāng)前時(shí)間可能不期望傾聽(tīng)另一方說(shuō)話)、方向變化、語(yǔ)音命令、基于語(yǔ)音的通信段的開(kāi)始或它們的組合。
盡管參考預(yù)定閾值進(jìn)行描述,但在某些實(shí)例實(shí)施例中,可以由客戶機(jī)設(shè)備110的用戶106手動(dòng)輸入或調(diào)整用于在通信模式之間改變的閾值。同樣,用于在通信模式之間改變的閾值可以是學(xué)習(xí)閾值,以使得隨著時(shí)間的推移,確定模塊240可以確定適于用戶106并且與其關(guān)聯(lián)的值,這些值指示用戶希望在通信模式之間改變。此外,可以由客戶機(jī)設(shè)備110的用戶106輸入一組預(yù)定語(yǔ)音命令。在某些情況下,一組預(yù)定語(yǔ)音命令可以包括命令可變性元素,以使得隨著時(shí)間的推移,確定模塊240可以獲得適于客戶機(jī)設(shè)備110的用戶106的詞匯、重音、縮寫、語(yǔ)調(diào)或其它語(yǔ)音模式。
管理模塊250從確定模塊240接收模式變化指示,并且在通信模式之間改變。例如,基于接收模式變化指示,管理模塊250在客戶機(jī)設(shè)備110內(nèi)生成模式中斷。模式中斷導(dǎo)致客戶機(jī)設(shè)備110的處理器在通信模式之間改變,例如從基于音頻的通信模式改變?yōu)榛谖谋镜耐ㄐ拍J?。模式中斷還導(dǎo)致呈現(xiàn)模塊220修改或改變?cè)诳蛻魴C(jī)設(shè)備110上呈現(xiàn)給用戶的用戶界面。例如,模式中斷可以導(dǎo)致呈現(xiàn)模式220通過(guò)從用戶界面移除虛擬鍵盤并且導(dǎo)致呈現(xiàn)通信段圖標(biāo)(例如,麥克風(fēng)圖標(biāo))或用戶可選擇圖標(biāo),將用戶界面的一部分從基于文本的通信模式改變?yōu)榛谝纛l的通信模式。通信段圖標(biāo)可以指示基于音頻的通信模式(例如,全雙工通信),而用戶可選擇圖標(biāo)使用戶能夠在使用可選擇圖標(biāo)時(shí)傳輸音頻通信,并且在不使用可選擇圖標(biāo)時(shí)接收音頻通信(例如,半雙工通信)。在某些情況下,通信段圖標(biāo)和用戶可選擇圖標(biāo)是同一圖標(biāo),可選擇該圖標(biāo)以便在用戶之間生成和傳輸通信。
數(shù)據(jù)模塊260提供各種數(shù)據(jù)存儲(chǔ)功能。例如,數(shù)據(jù)模塊260可以在傳輸數(shù)據(jù)之前或者在用戶查看通信數(shù)據(jù)之前暫時(shí)存儲(chǔ)或緩存通信數(shù)據(jù)。如果數(shù)據(jù)模塊260在傳輸之前存儲(chǔ)通信數(shù)據(jù),則與數(shù)據(jù)模塊260關(guān)聯(lián)的存儲(chǔ)介質(zhì)存儲(chǔ)通信數(shù)據(jù),同時(shí)用戶生成用于傳輸?shù)南?。?shù)據(jù)模塊260動(dòng)態(tài)地修改通信數(shù)據(jù)以便添加由用戶生成的其它通信數(shù)據(jù)。
數(shù)據(jù)模塊260從通信模塊210接收通信數(shù)據(jù)以便存儲(chǔ)在存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)例如包括非瞬時(shí)性機(jī)器可讀存儲(chǔ)介質(zhì)、存儲(chǔ)器、閃存、網(wǎng)絡(luò)存儲(chǔ)(例如,云存儲(chǔ))或者其它合適的存儲(chǔ)介質(zhì)。通信數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)介質(zhì)上達(dá)預(yù)定時(shí)間段。預(yù)定時(shí)間段的持續(xù)時(shí)間可以由客戶機(jī)設(shè)備110、客戶機(jī)設(shè)備110的用戶、通信模式、通信模塊210,或者數(shù)據(jù)模塊260內(nèi)能夠確定或存儲(chǔ)指示持續(xù)時(shí)間的值的任何其它合適源來(lái)設(shè)置。通信數(shù)據(jù)還可以一直被存儲(chǔ)在存儲(chǔ)介質(zhì)上,直到接收到預(yù)定指示,例如用戶查看通信數(shù)據(jù)或傳輸通信數(shù)據(jù)的指示。
圖3是示出用于使用與用戶界面關(guān)聯(lián)的手勢(shì)來(lái)混合通信的實(shí)例方法300的流程圖。方法300的操作可以由通信混合系統(tǒng)160的組件執(zhí)行,并且為了例示目的而在下面如此描述這些操作。
在操作310中,通信模塊210、呈現(xiàn)模塊220、傳感器模塊230或它們的組合通過(guò)客戶機(jī)設(shè)備110的用戶界面接收用戶交互。操作310的一個(gè)實(shí)例在圖6和7a-7c中示出。用戶交互指示期望通信模式。例如,用戶交互可以是基于觸摸的手勢(shì),例如部分滑動(dòng)或完整滑動(dòng)。部分滑動(dòng)指示用戶106觸摸觸摸屏或者跨呈現(xiàn)用戶界面的屏幕的一部分操縱指針。完整滑動(dòng)指示跨屏幕的整體測(cè)量(例如,整體長(zhǎng)度或?qū)挾?的滑動(dòng)。滑動(dòng)可以以交互式用戶界面元素(例如文本輸入框)為中心。在某些實(shí)例實(shí)施例中,可以以用戶中斷的形式將滑動(dòng)傳遞到模塊或客戶機(jī)設(shè)備110的處理器。
在操作320中,確定模塊240確定當(dāng)前通信模式(例如,基于文本的通信),并且生成改變?yōu)槠谕ㄐ拍J?例如,基于音頻的通信)的指示。確定模塊240將指示傳遞到管理模塊250。可以在客戶機(jī)設(shè)備110處的用戶界面內(nèi)呈現(xiàn)通知。在某些實(shí)施例中,通知被呈現(xiàn)為一組文本,該組文本標(biāo)識(shí)通信模式或者將通信數(shù)據(jù)輸入到通信模式中的方法。通知可以被呈現(xiàn)為覆蓋、嵌入式文本、在預(yù)定時(shí)間段之后關(guān)閉的臨時(shí)窗口,或者任何其它合適的通知。如果通知被呈現(xiàn)為嵌入式文本以及通信數(shù)據(jù)的一部分(例如,由另一個(gè)客戶機(jī)設(shè)備發(fā)送的消息的一部分),則通知的嵌入式文本可以被呈現(xiàn)為不同于通信數(shù)據(jù)。在某些實(shí)施例中,如果通信數(shù)據(jù)是文本的一部分,則通知的嵌入式文本被呈現(xiàn)為以下一個(gè)或多個(gè):與通信數(shù)據(jù)的文本不同的文本字體、不同的文本大小、不同的顏色或不同的位置。例如,通知文本可以被呈現(xiàn)為文本的一部分,其字體小于通信數(shù)據(jù)的字體并且與通信數(shù)據(jù)相距某一距離。
確定模塊240基于在操作310中接收的用戶交互,確定期望通信模式。在某些實(shí)施例中,預(yù)定動(dòng)作與一組通信方法的不同通信方法關(guān)聯(lián)。例如,相對(duì)于客戶機(jī)設(shè)備110的觸摸屏方向,基于觸摸的向上手勢(shì)(例如,向上滑動(dòng))或者向上運(yùn)動(dòng)中客戶機(jī)設(shè)備110的位置變化可以指示期望通信模式基于語(yǔ)音。在某些實(shí)施例中,跨客戶機(jī)設(shè)備110的觸摸屏的一部分的部分基于觸摸的手勢(shì)(例如,滑動(dòng))表示第一通信模式。沿著預(yù)定方向跨客戶機(jī)設(shè)備110的觸摸屏的基于觸摸的完整手勢(shì)(例如,完整滑動(dòng))表示第二通信模式。在某些實(shí)施例中,第一通信模式是語(yǔ)音到文本通信模式,并且第二通信模式是全雙工電話呼叫?;谡Z(yǔ)音的通信模式可以實(shí)現(xiàn)語(yǔ)音到文本通信、錄音、全雙工或半雙工語(yǔ)音通信模式(例如,電話呼叫、voip呼叫、視頻呼叫)或者任何其它合適的基于語(yǔ)音的通信。盡管針對(duì)基于語(yǔ)音的通信進(jìn)行討論,但通信模式可以包括基于視頻的通信、基于文本的通信,或者客戶機(jī)設(shè)備110能夠用于接收表示通信數(shù)據(jù)的用戶輸入并且解釋通信數(shù)據(jù)以便傳輸?shù)搅硪粋€(gè)客戶機(jī)設(shè)備的任何其它合適的通信模式。
在操作330中,管理模塊250導(dǎo)致通信混合系統(tǒng)160或客戶機(jī)設(shè)備110上的通信應(yīng)用將通信模式設(shè)置為由確定模塊240確定的期望通信模式。例如,管理模塊250可以通過(guò)改變客戶機(jī)設(shè)備110上的通信應(yīng)用的操作模式來(lái)設(shè)置通信模式。在某些實(shí)施例中,操作模式的變化導(dǎo)致客戶機(jī)設(shè)備110初始化與客戶機(jī)設(shè)備關(guān)聯(lián)或者是客戶機(jī)設(shè)備的一部分的輸入字段或輸入設(shè)備。初始化輸入字段導(dǎo)致呈現(xiàn)能夠接收或訪問(wèn)通信數(shù)據(jù)的輸入字段(例如,文本輸入字段或用戶界面元素)。例如,輸入字段可以是文本輸入字段,其被配置為接收從將輸入傳遞到通信混合系統(tǒng)160的物理或虛擬鍵盤輸入的文本數(shù)據(jù)形式的通信數(shù)據(jù)。初始化輸入設(shè)備可以導(dǎo)致客戶機(jī)設(shè)備110啟動(dòng)與客戶機(jī)設(shè)備110關(guān)聯(lián)或者是客戶機(jī)設(shè)備110的一部分的一個(gè)或多個(gè)通信設(shè)備。例如,輸入設(shè)備可以是針對(duì)視頻聊天會(huì)話初始化的照相機(jī)、針對(duì)錄音或語(yǔ)音到文本操作初始化的麥克風(fēng),或者與客戶機(jī)設(shè)備110的電路結(jié)合地初始化以便進(jìn)行電話呼叫的麥克風(fēng)和揚(yáng)聲器。
在操作340中,呈現(xiàn)模塊220導(dǎo)致在客戶機(jī)設(shè)備110上呈現(xiàn)用戶界面。由呈現(xiàn)模塊220呈現(xiàn)的用戶界面指示期望通信模式。例如,如果期望通信模式是基于音頻的通信模式,則呈現(xiàn)模塊220可以導(dǎo)致用戶界面包括交互式用戶界面元素,例如通信段圖標(biāo)(例如,音頻注釋圖標(biāo)或麥克風(fēng)圖標(biāo))。用戶106與通信段圖標(biāo)交互以便生成通信段(例如,音頻注釋或語(yǔ)音郵件注釋)。在某些實(shí)施例中,所述模塊可以將基于語(yǔ)音的通信段轉(zhuǎn)換成基于文本的通信段。例如,呈現(xiàn)模塊220可以通過(guò)一組語(yǔ)音到文本操作來(lái)處理基于語(yǔ)音的通信段,并且在客戶機(jī)設(shè)備110的用戶界面上將基于語(yǔ)音的通信段呈現(xiàn)為一組文本(例如,基于文本的通信段、文本消息、文本推送通知)。
圖4是示出用于混合通信類型以便傳輸消息的實(shí)例方法400的流程圖。方法400的操作可以由通信混合系統(tǒng)160的組件執(zhí)行,并且為了例示目的而在下面如此描述這些操作。在某些實(shí)施例中,方法400的操作可以使用方法300的一個(gè)或多個(gè)操作,作為方法300的一個(gè)或多個(gè)操作的子操作執(zhí)行,或者基于方法300的一個(gè)或多個(gè)操作而開(kāi)始。
在操作410中,客戶機(jī)設(shè)備110上的通信混合系統(tǒng)160的通信模塊210接收指示開(kāi)始通信會(huì)話(例如,聊天或電話呼叫)的中斷。例如,通信模塊210可以接收指示客戶機(jī)設(shè)備110上的通信應(yīng)用內(nèi)的聊天開(kāi)始的中斷。聊天開(kāi)始指示在兩個(gè)或更多用戶之間創(chuàng)建新通信會(huì)話,或者在兩個(gè)或更多用戶之間恢復(fù)現(xiàn)有通信會(huì)話。通信應(yīng)用包括被配置為與通信混合系統(tǒng)160交互的處理器可執(zhí)行指令。例如,通信應(yīng)用的處理器可執(zhí)行指令可以包括通信混合系統(tǒng)160的至少一部分。在某些實(shí)例實(shí)施例中,開(kāi)始通信的中斷之前可以是導(dǎo)致客戶機(jī)設(shè)備110打開(kāi)通信應(yīng)用的用戶開(kāi)始的中斷。
在操作420中,呈現(xiàn)模塊220導(dǎo)致在客戶機(jī)110的用戶界面上呈現(xiàn)默認(rèn)通信模式。例如,在接收到開(kāi)始通信會(huì)話的中斷時(shí),呈現(xiàn)模塊220可以呈現(xiàn)與被配置為接收和發(fā)送基于文本的消息的基于文本的通信模式對(duì)應(yīng)的用戶界面。呈現(xiàn)基于文本的通信模式以使得用戶界面的一部分包括能夠接收用戶輸入以便生成基于文本的消息的虛擬鍵盤。
在某些實(shí)施例中,默認(rèn)通信模式是預(yù)定通信模式。預(yù)定通信模式可以由客戶機(jī)設(shè)備110的用戶設(shè)置為客戶機(jī)設(shè)備的用戶界面內(nèi)的設(shè)置。在某些情況下,可以響應(yīng)于從另一個(gè)客戶機(jī)設(shè)備接收的通信數(shù)據(jù)而選擇默認(rèn)通信模式。確定模塊240確定在客戶機(jī)設(shè)備110處接收的通信數(shù)據(jù)的通信類型(例如,基于語(yǔ)音的通信、基于文本的通信、基于視頻的通信)。響應(yīng)于確定模塊240確定所接收的通信數(shù)據(jù)的通信類型,確定模塊240標(biāo)識(shí)具有與所接收的通信數(shù)據(jù)的通信類型相匹配或相關(guān)聯(lián)的通信類型的通信模式。由確定模塊240選擇的通信模式能夠接收與所接收的通信數(shù)據(jù)的通信類型關(guān)聯(lián)的輸入。呈現(xiàn)模塊220將默認(rèn)通信模式呈現(xiàn)為被選擇為具有與所接收的通信數(shù)據(jù)的通信類型匹配的通信類型的通信模式。
在操作430中,傳感器模塊230接收指示客戶機(jī)設(shè)備110中的位置變化的傳感器數(shù)據(jù)。例如,傳感器模塊230可以接收指示第一位置變化的第一組傳感器數(shù)據(jù),第一位置變化例如包括客戶機(jī)設(shè)備110的高程從較低位置增加到靠近用戶106耳朵的位置。通過(guò)進(jìn)一步例示,傳感器模塊230可以接收指示第一方向變化的第一組傳感器數(shù)據(jù)。第一方向變化例如可以是客戶機(jī)設(shè)備110從垂直或水平方向到對(duì)角線方向的方向變化。對(duì)角線方向具有角度,該角度指示用戶106將客戶機(jī)設(shè)備110放置在適合于同時(shí)對(duì)著客戶機(jī)設(shè)備110說(shuō)話并且傾聽(tīng)客戶機(jī)設(shè)備110的輸出的方向。傳感器模塊230傳遞、傳輸傳感器數(shù)據(jù),或者以其它方式使確定模塊240能夠訪問(wèn)傳感器數(shù)據(jù)。
方向變化的一個(gè)實(shí)例可以是將客戶機(jī)設(shè)備110旋轉(zhuǎn)到揚(yáng)聲器位置。在該位置中,用戶106將客戶機(jī)設(shè)備110的輸入部(例如,麥克風(fēng))從第一位置旋轉(zhuǎn)到第二位置,使輸入部更靠近用戶的嘴邊(例如,音頻輸出源)。例如,如果輸出揚(yáng)聲器(例如,耳機(jī))被放置為靠近客戶機(jī)設(shè)備110的第一端并且麥克風(fēng)被放置為靠近客戶機(jī)設(shè)備110的第二端,則方向變化可以是旋轉(zhuǎn)大約180°。在該實(shí)例中,旋轉(zhuǎn)可以將輸入部放置為更靠近用戶106的嘴邊。旋轉(zhuǎn)可以是垂直旋轉(zhuǎn)(例如,將客戶機(jī)設(shè)備110上下轉(zhuǎn)動(dòng))、水平旋轉(zhuǎn)(例如,將麥克風(fēng)朝向用戶轉(zhuǎn)動(dòng)并且將輸出揚(yáng)聲器遠(yuǎn)離用戶),或者是垂直和水平旋轉(zhuǎn)的組合。
在操作440中,基于從傳感器模塊230接收的傳感器數(shù)據(jù),確定模塊240可以確定客戶機(jī)設(shè)備110的期望通信模式,以便在與用戶106嘗試輸入消息的方式兼容的通信模式下接收由用戶106生成的消息。確定模塊240可以基于預(yù)定閾值解釋傳感器數(shù)據(jù)。在某些情況下,確定模塊240標(biāo)識(shí)傳感器數(shù)據(jù)內(nèi)的值,例如行進(jìn)距離(例如,垂直、水平、對(duì)角線),并且將該值與預(yù)定距離閾值相比較??梢詮囊唤M值中選擇該值,其中每個(gè)值表示能夠由客戶機(jī)設(shè)備110的一個(gè)或多個(gè)傳感器測(cè)量的一個(gè)方面的數(shù)量。如果傳感器數(shù)據(jù)值超過(guò)預(yù)定距離閾值,則確定模塊240可以從一組通信模式確定與超過(guò)預(yù)定距離閾值的確定相關(guān)聯(lián)的通信模式。例如,基于音頻的通信模式可以與客戶機(jī)設(shè)備110的垂直位置變化量大于為十二英寸的預(yù)定閾值(即,大于三十厘米)的確定相關(guān)聯(lián),這表明用戶106將客戶機(jī)設(shè)備110從靠近用戶106腰部或胃部的位置拿到靠近用戶106耳朵的位置。通過(guò)另一個(gè)實(shí)例,音頻消息模式可以與上述將客戶機(jī)設(shè)備110旋轉(zhuǎn)到揚(yáng)聲器位置的確定相關(guān)聯(lián)。揚(yáng)聲器位置的確定表明用戶106旋轉(zhuǎn)輸出揚(yáng)聲器使其遠(yuǎn)離用戶106的耳朵。
在某些實(shí)施例中,確定模塊240接收多個(gè)值(例如,被測(cè)量方面的多個(gè)數(shù)量的變化)。確定模塊240標(biāo)識(shí)用作與預(yù)定閾值比較的傳感器數(shù)據(jù)值的主值。確定模塊240可以基于數(shù)量之間的變化量確定主值。主值可以被確定為多個(gè)值中具有最大變化的值、包含與通信模式具有預(yù)定關(guān)聯(lián)的數(shù)量變化的值,或者其它合適的標(biāo)識(shí)方法。例如,如果客戶機(jī)設(shè)備110的傳感器檢測(cè)到垂直位置變化(例如,客戶機(jī)設(shè)備110被舉高)和方向變化(例如,客戶機(jī)設(shè)備110圍繞垂直軸旋轉(zhuǎn)),則確定模塊240可以基于垂直位置變化與音頻通信模式之間的關(guān)聯(lián),或者基于開(kāi)始數(shù)量與結(jié)束數(shù)量之間的差大于針對(duì)方向變化確定的差的垂直位置變化,選擇音頻通信模式。
在確定模塊240已從一組通信模式確定期望通信模式之后,確定模塊240將模式變化指示傳遞到其它模塊以便實(shí)現(xiàn)通信模式、用戶界面和通信應(yīng)用的變化。例如,確定模塊240可以將模式變化指示傳遞到管理模塊250以便在通信模式之間改變,并且傳遞到呈現(xiàn)模塊220以便改變用戶界面的至少一部分以指示到期望通信模式的改變。
在某些實(shí)例實(shí)施例中,確定模塊240還可以從客戶機(jī)設(shè)備110嘗試與其通信的第二客戶機(jī)設(shè)備接收模式指示。當(dāng)確定模塊240從第二客戶機(jī)設(shè)備接收模式指示時(shí),確定模塊240使期望通信模式(例如,兼容通信模式)的確定基于傳感器數(shù)據(jù)和模式指示的組合。兼容通信模式是這樣的通信模式:其被配置為以模式指示的建議通信模式可以解釋的格式接收和發(fā)送通信數(shù)據(jù),并且被配置為根據(jù)基于傳感器數(shù)據(jù)確定的期望通信模式操作。例如,確定模塊240可以由于傳感器數(shù)據(jù)而確定期望模式是基于音頻的通信模式。確定模塊240然后判定是否已從第二客戶機(jī)設(shè)備接收到包括建議通信模式的模式指示。
如果已接收模式指示并且所述模式指示內(nèi)的建議通信模式與期望模式?jīng)_突,則確定模塊240確定第二期望模式(例如,兼容通信模式)。例如,確定模塊240可能已確定基于音頻的通信模式是期望模式。但是,第二客戶機(jī)設(shè)備的模式指示已指示第二客戶機(jī)設(shè)備不可用或者不能使用基于音頻的通信模式(例如,全雙工通信、電話呼叫或半雙工通信)通信。在本實(shí)例中,確定模塊240可以確定音頻消息模式是合適的還是期望模式。確定模塊240從而使客戶機(jī)設(shè)備110能夠在其當(dāng)前位置和方向用于通信,并且使用戶106能夠完成將音頻消息傳輸?shù)降诙蛻魴C(jī)設(shè)備。
在操作450中,確定模塊240將模式變化指示傳遞到管理模塊250以便改變通信模式。管理模塊250配置通信混合系統(tǒng)160和通信應(yīng)用以便使用期望通信模式來(lái)接收和發(fā)送通信。例如,管理模塊250可以將模式變化指示傳遞到呈現(xiàn)模塊220,導(dǎo)致呈現(xiàn)模塊220在客戶機(jī)設(shè)備110上呈現(xiàn)對(duì)應(yīng)于期望通信模式的用戶界面。
在操作460中,基于傳感器數(shù)據(jù)和確定模塊240,通信模塊210通過(guò)客戶機(jī)設(shè)備110的輸入部從用戶106接收通信數(shù)據(jù),并且將通信數(shù)據(jù)的至少一部分傳遞到數(shù)據(jù)模塊260。通過(guò)例示的方式,數(shù)據(jù)模塊260可以接收指示要由通信模塊210傳輸?shù)幕谖谋镜南?、媒體消息或音頻消息的通信數(shù)據(jù)。在存儲(chǔ)介質(zhì)(例如,存儲(chǔ)器、非瞬時(shí)性機(jī)器可讀存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)等)上傳輸之前,或者在查看由通信模塊210從第二客戶機(jī)設(shè)備接收的通信數(shù)據(jù)之前,數(shù)據(jù)模塊260接收并且存儲(chǔ)通信消息。
數(shù)據(jù)模塊260修改通信數(shù)據(jù)以使用戶106能夠生成消息并且在中斷的情況下保存該消息。例如,如果用戶106正在生成音頻消息,并且接收第二客戶機(jī)設(shè)備可用于基于音頻的通信(例如,電話呼叫)的指示,則數(shù)據(jù)模塊260可以保持音頻消息的狀態(tài),并且使用戶106能夠在終止與第二客戶機(jī)設(shè)備的基于音頻的通信之后繼續(xù)記錄音頻消息。
在某些實(shí)例實(shí)施例中,方法400可以進(jìn)一步包括操作470,其中通信模塊210接收來(lái)自數(shù)據(jù)模塊260的通信數(shù)據(jù),其指示準(zhǔn)備好傳輸?shù)降诙蛻魴C(jī)設(shè)備的完成消息。通信模塊210然后將通信數(shù)據(jù)傳輸?shù)降诙蛻魴C(jī)設(shè)備。
通信模塊210還可以處理通信數(shù)據(jù)以便改變由通信數(shù)據(jù)采用的通信模式。例如,如果通信數(shù)據(jù)是音頻消息,則通信模塊210可以處理通信數(shù)據(jù)以便作為基于文本的通信來(lái)傳輸。通信模塊210采用處理器可執(zhí)行指令轉(zhuǎn)換通信數(shù)據(jù),例如語(yǔ)音到文本操作、文本到語(yǔ)音操作以及其它合適的通信數(shù)據(jù)轉(zhuǎn)換過(guò)程和操作。
通信模塊210可以獨(dú)立于用于第二客戶機(jī)設(shè)備的選定通信模式的指示來(lái)傳輸通信數(shù)據(jù)或者傳輸轉(zhuǎn)換后的通信數(shù)據(jù)。在某些實(shí)例實(shí)施例中,通信模塊210可以基于從第二客戶機(jī)設(shè)備接收的模式指示,判定傳輸通信數(shù)據(jù)還是轉(zhuǎn)換后的通信數(shù)據(jù)。
圖5是示出用于基于客戶機(jī)設(shè)備110的位置混合用于參與聊天會(huì)話的通信類型的實(shí)例方法500的流程圖。方法500的操作可以由通信混合系統(tǒng)160的組件執(zhí)行,并且為了例示目的而在下面如此描述這些操作。在各種實(shí)施例中,方法500的操作可以使用方法300和400的一個(gè)或多個(gè)操作執(zhí)行、可以是針對(duì)方法300和400描述的操作的子操作、或者基于方法300和400的一個(gè)或多個(gè)操作而開(kāi)始。
在操作510中,如圖8中所示,通信模塊210接收指示客戶機(jī)設(shè)備110與第二客戶機(jī)設(shè)備之間的通信的通知。例如,通信模塊210可以接收指示與第二客戶機(jī)設(shè)備開(kāi)始聊天的通知和聊天數(shù)據(jù)。聊天數(shù)據(jù)可以包括音頻數(shù)據(jù)、文本數(shù)據(jù)、圖像數(shù)據(jù)或其它媒體。
在操作520中,傳感器模塊230接收指示客戶機(jī)設(shè)備110的位置變化的傳感器數(shù)據(jù)。例如,傳感器模塊230可以接收指示客戶機(jī)設(shè)備110的第一位置或方向變化的第一傳感器數(shù)據(jù)。在操作520期間,傳感器模塊230可以接收與操作430的傳感器數(shù)據(jù)類似的傳感器數(shù)據(jù)。
在操作530中,基于傳感器數(shù)據(jù)和從第二設(shè)備接收的聊天數(shù)據(jù)的通信類型,確定模塊240確定客戶機(jī)設(shè)備110的期望通信模式以便接收從第二設(shè)備發(fā)送的消息。確定模塊240基于從第二設(shè)備接收的通信數(shù)據(jù)的數(shù)據(jù)類型,通過(guò)將通信模式與數(shù)據(jù)類型匹配來(lái)確定期望通信模式。例如,當(dāng)接收包括文本數(shù)據(jù)或音頻文件(其中音頻文件的一部分已被轉(zhuǎn)換為文本)的消息時(shí),確定模塊240可以將期望通信模式確定為基于文本的通信模式。
在操作540中,基于第一傳感器數(shù)據(jù)和由確定模塊240對(duì)期望通信模式的確定,管理模塊250生成第一中斷,其配置客戶機(jī)設(shè)備110以便將默認(rèn)通信模式設(shè)置或改變?yōu)槠谕ㄐ拍J健@?,管理模塊250可以導(dǎo)致客戶機(jī)設(shè)備110通過(guò)通信網(wǎng)絡(luò)進(jìn)入與第二設(shè)備的基于音頻的通信會(huì)話。管理模塊250可以在操作540中改變或設(shè)置通信模式,類似于操作450。
在操作550中,傳感器模塊230接收指示客戶機(jī)設(shè)備110的第二位置變化的第二傳感器數(shù)據(jù)。在某些實(shí)例實(shí)施例中,傳感器模塊230可以接收客戶機(jī)設(shè)備110的位置變化和方向變化的第二傳感器數(shù)據(jù)。傳感器模塊230可以在操作550中接收與操作520和430的傳感器數(shù)據(jù)類似的第二傳感器數(shù)據(jù)。在某些實(shí)施例中,在通信混合系統(tǒng)160通過(guò)客戶機(jī)設(shè)備110的輸入部接收通信數(shù)據(jù)之后,接收第二位置變化。
在操作560中,基于第二傳感器數(shù)據(jù),確定模塊240確定客戶機(jī)設(shè)備110的第二期望通信模式,以便在不參與雙向聊天會(huì)話的情況下繼續(xù)從第二設(shè)備接收通信數(shù)據(jù)。確定模塊240可以基于第二傳感器數(shù)據(jù)確定期望通信模式,類似于操作440和530。
在操作570中,基于第二傳感器數(shù)據(jù)和由確定模塊240對(duì)期望通信模式的確定,管理模塊250生成第二中斷,所述第二中斷配置客戶機(jī)設(shè)備110以便將期望通信模式設(shè)置或改變?yōu)榈诙谕ㄐ拍J?。響?yīng)于改變?yōu)榈诙谕ㄐ拍J?,管理模塊250導(dǎo)致通信模塊210終止客戶機(jī)設(shè)備110的部分上的語(yǔ)音聊天。如參考操作440,作為操作570的一部分,客戶機(jī)設(shè)備110可以向第二設(shè)備傳輸指示語(yǔ)音聊天終止的模式指示。如果已傳輸模式指示,則客戶機(jī)設(shè)備110仍然可以接收語(yǔ)音聊天,或者語(yǔ)音聊天的語(yǔ)音到文本版本。指示語(yǔ)音聊天或語(yǔ)音聊天的語(yǔ)音到文本版本的通信數(shù)據(jù)被保留,以便由客戶機(jī)設(shè)備110的用戶106稍后使用。
在某些實(shí)施例中,客戶機(jī)設(shè)備110經(jīng)由第一輸入部接收第一格式的第一通信數(shù)據(jù)(例如,文本數(shù)據(jù))。第一通信數(shù)據(jù)表示經(jīng)由客戶機(jī)設(shè)備110的輸入部從輸入通信數(shù)據(jù)的用戶所接收的消息的一部分。例如,第一通信數(shù)據(jù)可以采用由客戶機(jī)設(shè)備110的用戶在客戶機(jī)設(shè)備110的觸摸屏上呈現(xiàn)的虛擬鍵盤上輸入的文本格式。在某些情況下,客戶機(jī)設(shè)備110在操作520中接收第一傳感器數(shù)據(jù)之后接收第一通信數(shù)據(jù)。在客戶機(jī)設(shè)備接收第一通信數(shù)據(jù)之后,傳感器模塊230可以在操作550中接收第二傳感器數(shù)據(jù)。第二傳感器數(shù)據(jù)可以表示客戶機(jī)設(shè)備110的位置或方向變化。確定模塊240可以在操作560中確定第二期望通信模式。此第二位置變化可以表示選擇(例如,通過(guò)客戶機(jī)設(shè)備110的移動(dòng))新通信模式以便完成所述消息的由第一通信數(shù)據(jù)表示的部分。在某些實(shí)施例中,第二期望通信模式接收第二格式的通信數(shù)據(jù)(例如,音頻數(shù)據(jù))。在某些情況下,在操作570中將客戶機(jī)設(shè)備改變?yōu)榈诙谕ㄐ拍J街螅蛻魴C(jī)設(shè)備110接收表示繼續(xù)由第一通信數(shù)據(jù)表示的消息的第二通信數(shù)據(jù)。通信模塊210經(jīng)由客戶機(jī)設(shè)備110的第二輸入設(shè)備(例如,麥克風(fēng)而不是鍵盤)接收第二格式的第二通信數(shù)據(jù)。第二期望通信模式將第二通信數(shù)據(jù)從第二格式轉(zhuǎn)換為第一格式。在某些實(shí)施例中,第二期望通信模式將第一格式的第二通信數(shù)據(jù)附加到第一通信數(shù)據(jù),以便包括在要傳輸?shù)搅硪粋€(gè)客戶機(jī)設(shè)備的單個(gè)消息中。
通過(guò)例示的方式,在圖6-13中,針對(duì)方法300、400和500的操作的實(shí)例實(shí)施例呈現(xiàn)實(shí)例用戶界面屏幕。盡管圖6-13示出特定的實(shí)例用戶界面和用戶界面元素,但這些僅是非限制性實(shí)例,可以由呈現(xiàn)模塊220生成許多其它備選用戶界面和用戶界面元素,并且導(dǎo)致向用戶呈現(xiàn)這些用戶界面和用戶界面元素。將注意,圖6-13的顯示的備選呈現(xiàn)可以包括額外信息、圖形、選項(xiàng)等。備選地,其它呈現(xiàn)可以包括較少的信息,或者提供簡(jiǎn)短的信息以便用戶容易使用。
圖6示出如在操作310中引用的用戶交互和在操作320中引用的默認(rèn)通信模式的變化??蛻魴C(jī)設(shè)備110初始地可以通過(guò)呈現(xiàn)模塊220呈現(xiàn)文本輸入框610。用戶106可以在文本輸入框610上或其附近執(zhí)行部分滑動(dòng)620并且客戶機(jī)設(shè)備110可以接收部分滑動(dòng)620,以便開(kāi)始語(yǔ)音注釋或音頻注釋形式的通信段。例如,用戶106可以將客戶機(jī)設(shè)備110的觸摸屏630上的手指放在文本輸入框610的左側(cè),并且拖動(dòng)手指部分跨過(guò)屏幕630(例如,到達(dá)文本輸入框的大約中間區(qū)域)以便示意從基于文本的通信模式到音頻消息模式的期望通信模式變化。在接收部分滑動(dòng)620時(shí),通信混合系統(tǒng)160可以改變通信模式以使用戶106能夠生成通信段,如在操作320-340中討論的那樣。
在某些實(shí)施例中,用戶106可以執(zhí)行第一和第二交互并且通信混合系統(tǒng)160可以接收所述第一和第二交互,以便導(dǎo)致通信模式的變化。例如,用戶106可以在文本輸入框610上執(zhí)行部分滑動(dòng)620作為第一交互,以便通過(guò)以語(yǔ)音注釋或音頻注釋的形式開(kāi)始通信段來(lái)開(kāi)始基于文本的通信段。在某些情況下,第一交互可以導(dǎo)致通信模式的變化。在某些實(shí)施例中,第一交互可以導(dǎo)致中斷,所述中斷導(dǎo)致客戶機(jī)設(shè)備110等待第二交互。用戶106然后可以執(zhí)行第二交互(例如,對(duì)著客戶機(jī)設(shè)備110的麥克風(fēng)說(shuō)話)并且客戶機(jī)設(shè)備110可以接收所述第二交互,以便導(dǎo)致通信模式的變化或者導(dǎo)致第二通信模式變化。
用戶106還可以在文本輸入框上執(zhí)行完整滑動(dòng)并且客戶機(jī)設(shè)備110可以接收完整滑動(dòng),以便開(kāi)始語(yǔ)音呼叫。例如,用戶106可以將客戶機(jī)設(shè)備110的觸摸屏上的手指放在靠近文本輸入框610的左側(cè),并且拖動(dòng)手指跨越文本輸入框610的長(zhǎng)度(例如,從文本輸入框的左側(cè)到文本輸入框的右側(cè))。完整滑動(dòng)可以指示從基于文本的通信模式到基于音頻的通信模式(例如,語(yǔ)音呼叫)的期望通信模式變化。在接收完整滑動(dòng)時(shí),通信混合系統(tǒng)160以類似于操作320-340的方式改變通信模式,以便使用戶106能夠使用基于音頻的通信模式參與通信。
圖7a-7c示出如在操作310中引用的用戶交互和在操作320中引用的默認(rèn)通信模式的變化的一個(gè)實(shí)例實(shí)施例。呈現(xiàn)模塊220初始地可以呈現(xiàn)包括默認(rèn)通信模式的用戶界面。如圖7a中所示,默認(rèn)通信模式具有聊天窗口710和文本輸入框720。用戶106與用戶界面交互以使得客戶機(jī)設(shè)備110生成發(fā)信號(hào)通知通信模式切換的中斷。在某些實(shí)施例中,響應(yīng)于接收從聊天窗口710或文本輸入框720中的位置向上滑動(dòng)730的用戶交互而生成中斷,如圖7b中所示。除了導(dǎo)致默認(rèn)通信模式的變化(例如,操作320和330)之外,向上滑動(dòng)730的用戶交互還可以啟動(dòng)客戶機(jī)設(shè)備110以便由呈現(xiàn)模塊220生成和呈現(xiàn)用戶界面屏幕。例如,如圖7c中所示,呈現(xiàn)模塊220可以生成波形740,波形740指示從基于文本的通信模式到語(yǔ)音注釋模式(例如,音頻消息模式)的通信模式變化。呈現(xiàn)模塊220可以使用過(guò)滾動(dòng)效果來(lái)呈現(xiàn)指示通信模式變化的波形,以便向用戶106指示客戶機(jī)設(shè)備110已改變通信模式(例如,進(jìn)入音頻消息模式)。
在某些實(shí)例實(shí)施例中,如圖7c中所示,在記錄語(yǔ)音注釋的時(shí)段內(nèi),可以保持750向上滑動(dòng)的用戶交互(例如,手指可以保持在滑動(dòng)結(jié)束處)。例如,用戶106向上滑動(dòng),導(dǎo)致客戶機(jī)設(shè)備110開(kāi)始用于顯示波形的一個(gè)或多個(gè)操作。用戶106保持手指位置750以便記錄語(yǔ)音消息。用戶106然后可以釋放手指位置(例如,移除手指與客戶機(jī)設(shè)備110的觸摸屏的接觸)以便結(jié)束語(yǔ)音消息的記錄,從而導(dǎo)致客戶機(jī)設(shè)備110開(kāi)始用于終止捕獲記錄并準(zhǔn)備將記錄作為語(yǔ)音消息傳輸?shù)囊粋€(gè)或多個(gè)操作。在某些情況下,釋放手指位置可以導(dǎo)致客戶機(jī)設(shè)備110生成中斷,所述中斷導(dǎo)致客戶機(jī)設(shè)備110切換回先前的通信模式。
在其它實(shí)施例中,用戶106可以向上滑動(dòng)以便改變通信模式而不保持滑動(dòng)的結(jié)束位置。例如,用戶106可以向上滑動(dòng)以便改變?yōu)橐纛l消息模式,從而在滑動(dòng)結(jié)束時(shí)釋放光標(biāo)或指針。用戶106然后可以在聊天窗口中向下滑動(dòng)以便退出音頻消息模式,并且返回到先前的通信模式或者切換到不同的通信模式。
盡管針對(duì)向上滑動(dòng)、向下滑動(dòng)和向右滑動(dòng)描述,但應(yīng)該理解,可以通過(guò)其它用戶交互改變通信模式。例如,可以響應(yīng)于客戶機(jī)設(shè)備110的振動(dòng)而生成中斷;改變客戶機(jī)設(shè)備110的方向;改變客戶機(jī)設(shè)備110的位置;與客戶機(jī)設(shè)備110上的一個(gè)或多個(gè)按鈕、開(kāi)關(guān)或其它觸覺(jué)輸入設(shè)備交互;對(duì)著客戶機(jī)設(shè)110的麥克風(fēng)說(shuō)話;它們的組合;或者能夠生成導(dǎo)致設(shè)備的通信模式變化的中斷的任何其它合適的用戶交互。
圖8示出用于操作510的各部分的用戶界面屏幕810。在圖8中,用戶106可以接收推送通知820,推送通知820指示第二設(shè)備傳輸語(yǔ)音注釋830(例如,包含語(yǔ)音到文本消息數(shù)據(jù)的消息)。
在圖9-11中,用戶106通過(guò)由通信模塊210接收語(yǔ)音注釋(即,消息數(shù)據(jù))并且經(jīng)由呈現(xiàn)模塊220呈現(xiàn),接收由第二用戶留下的語(yǔ)音注釋910的至少一部分。在圖10-11中,通信模塊210分別從第二客戶機(jī)設(shè)備接收語(yǔ)音注釋1010和1110的其它部分,并且呈現(xiàn)模塊220在客戶機(jī)設(shè)備110的用戶界面上呈現(xiàn)語(yǔ)音注釋1010和1110的其它部分。在某些情況下,在語(yǔ)音注釋正在由第二客戶機(jī)設(shè)備編寫并且由第二客戶機(jī)設(shè)備傳輸時(shí),呈現(xiàn)模塊220呈現(xiàn)更新語(yǔ)音到文本語(yǔ)音注釋的段中的其它部分。
如圖9-11中所示,在某些實(shí)例實(shí)施例中,通信混合系統(tǒng)160可以使用通信模塊210和呈現(xiàn)模塊220的組合來(lái)接收正在進(jìn)行的語(yǔ)音注釋910。在與第二客戶機(jī)設(shè)備開(kāi)始雙向(全雙工通信)之前,客戶機(jī)設(shè)備110的用戶106可以檢查正在進(jìn)行的語(yǔ)音注釋的內(nèi)容(其由第二客戶機(jī)設(shè)備或客戶機(jī)設(shè)備110轉(zhuǎn)換為文本),并且客戶機(jī)設(shè)備110可以呈現(xiàn)正在進(jìn)行的語(yǔ)音注釋的內(nèi)容。
在用戶106已讀取語(yǔ)音注釋的各部分以了解上下文之后,如圖9-11中所示,客戶機(jī)設(shè)備110的用戶106可以將客戶機(jī)設(shè)備110(例如,智能電話)拿到用戶106的耳朵處,導(dǎo)致傳感器模塊230接收指示第一位置變化的第一傳感器數(shù)據(jù),如在操作520中。基于第一傳感器數(shù)據(jù),確定模塊240可以確定期望通信模式是基于音頻的通信模式,如在操作530中。管理模塊250可以導(dǎo)致通信模塊210和呈現(xiàn)模塊220協(xié)作以便將用戶界面改變?yōu)榛谝纛l的通信模式,從而使客戶機(jī)設(shè)備110的用戶106能夠使用全雙工通信(例如,電話呼叫)同時(shí)通信,如在操作540中。
除了查看從語(yǔ)音轉(zhuǎn)換的文本之外,用戶還可以能夠收聽(tīng)來(lái)自發(fā)送者的消息的實(shí)際語(yǔ)音記錄(例如,如圖14中所示)。如上所述,接收音頻注釋的第二用戶可以同時(shí)接收文本和音頻格式的注釋。如圖14中所示,可以由通信混合系統(tǒng)將音頻注釋呈現(xiàn)為基于文本的消息,通信混合系統(tǒng)向接收者呈現(xiàn)音頻注釋的文本和音頻兩者。音頻注釋可以由音頻文件表示,例如.wav、.mp3、.mp4、.aac、.aiff或者任何其它合適的音頻文件。因此,接收者可以將音頻注釋作為文本或音頻來(lái)進(jìn)行檢查。可以由呈現(xiàn)模塊220在用戶界面上彼此靠近地呈現(xiàn)基于文本的消息和音頻文件。
用戶106降低客戶機(jī)設(shè)備110,導(dǎo)致傳感器模塊230接收第二傳感器數(shù)據(jù),如在操作550中。第二客戶機(jī)設(shè)備可以繼續(xù)傳輸音頻通信數(shù)據(jù),其表示第二客戶機(jī)設(shè)備的第二用戶繼續(xù)交談,從而繼續(xù)該聊天會(huì)話的第二用戶部分。如圖12-14中所示,客戶機(jī)設(shè)備110可以從第二客戶機(jī)設(shè)備接收連續(xù)語(yǔ)音聊天1210、1220和1230的語(yǔ)音到文本版本。與呈現(xiàn)模塊220協(xié)作的通信模塊210定期更新語(yǔ)音聊天通信數(shù)據(jù)的文本版本1220或音頻版本1230,而第二客戶機(jī)設(shè)備繼續(xù)傳輸其它通信數(shù)據(jù)。
模塊、組件和邏輯
某些實(shí)施例在此被描述為包括邏輯或多個(gè)組件、模塊或機(jī)構(gòu)。模塊可以構(gòu)成軟件模塊(例如,在機(jī)器可讀介質(zhì)上或傳輸信號(hào)中體現(xiàn)的代碼)或硬件模塊?!坝布K”是有形單元,其能夠執(zhí)行某些操作并且可以以某種物理方式被配置或布置。在各種實(shí)例實(shí)施例中,計(jì)算機(jī)系統(tǒng)(例如,獨(dú)立計(jì)算機(jī)系統(tǒng)、客戶機(jī)計(jì)算機(jī)系統(tǒng)或服務(wù)器計(jì)算機(jī)系統(tǒng))或計(jì)算機(jī)系統(tǒng)的硬件模塊(例如,至少一個(gè)硬件處理器、一個(gè)處理器或一組處理器)由軟件(例如,應(yīng)用或應(yīng)用部分)配置為硬件模塊,所述硬件模塊操作以便執(zhí)行如在此描述的某些操作。
在某些實(shí)施例中,硬件模塊以機(jī)械方式、電子方式或者它們的任何合適的組合實(shí)現(xiàn)。例如,硬件模塊可以包括被永久配置為執(zhí)行某些操作的專用電路或邏輯。例如,硬件模塊可以是專用處理器,例如現(xiàn)場(chǎng)可編程門陣列(fpga)或?qū)S眉呻娐?asic)。硬件模塊還可以包括可編程邏輯或電路,其由軟件臨時(shí)配置以便執(zhí)行某些操作。例如,硬件模塊可以包括包含在通用處理器或其它可編程處理器內(nèi)的軟件。將認(rèn)識(shí)到,在專用和永久配置的電路中或者在臨時(shí)配置的電路(例如,由軟件配置)中以機(jī)械方式實(shí)現(xiàn)硬件模塊的決策可以由成本和時(shí)間考慮來(lái)驅(qū)動(dòng)。
因此,短語(yǔ)“硬件模塊”應(yīng)該被理解為包含有形實(shí)體,即物理地構(gòu)造、永久配置(例如,硬連線)或臨時(shí)配置(例如,編程)以便以某種方式操作或者執(zhí)行在此描述的某些操作的實(shí)體。如在此使用的,“硬件實(shí)現(xiàn)的模塊”指硬件模塊??紤]其中硬件模塊被臨時(shí)配置(例如,編程)的實(shí)施例,每個(gè)硬件模塊不需要在任何一個(gè)時(shí)間實(shí)例上配置或?qū)嵗@?,如果硬件模塊包括由軟件配置成為專用處理器的通用處理器,則通用處理器可以在不同時(shí)間被配置為相應(yīng)不同的專用處理器(例如,包括不同的硬件模塊)。軟件因此可以配置特定的一個(gè)或多個(gè)處理器,以便例如在一個(gè)時(shí)間實(shí)例構(gòu)成特定的硬件模塊,并且在不同的時(shí)間實(shí)例構(gòu)成不同的硬件模塊。
硬件模塊可以向其它硬件模塊提供信息并且從其它硬件模塊接收信息。因此,所述硬件模塊可以被認(rèn)為以通信方式耦合。如果同時(shí)存在多個(gè)硬件模塊,則可以通過(guò)在兩個(gè)或更多硬件模塊之間的信號(hào)傳輸(例如,通過(guò)適當(dāng)?shù)碾娐泛涂偩€)實(shí)現(xiàn)通信。在其中在不同時(shí)間配置或?qū)嵗鄠€(gè)硬件模塊的實(shí)施例中,例如可以通過(guò)存儲(chǔ)和檢索多個(gè)硬件模塊有權(quán)訪問(wèn)的存儲(chǔ)器結(jié)構(gòu)中的信息來(lái)實(shí)現(xiàn)這種硬件模塊之間的通信。例如,一個(gè)硬件模塊執(zhí)行操作并且將該操作的輸出存儲(chǔ)在與其以通信方式耦合的存儲(chǔ)設(shè)備中。另一個(gè)硬件模塊然后可以在稍后時(shí)間訪問(wèn)所述存儲(chǔ)設(shè)備,以便檢索和處理存儲(chǔ)的輸出。硬件模塊還可以開(kāi)始與輸入或輸出設(shè)備的通信,并且可以對(duì)資源(例如,信息集合)進(jìn)行操作。
可以至少部分地由臨時(shí)配置(例如,通過(guò)軟件)或永久配置為執(zhí)行相關(guān)操作的處理器來(lái)執(zhí)行在此描述的實(shí)例方法的各種操作。無(wú)論臨時(shí)還是永久配置,這種處理器都構(gòu)成處理器實(shí)現(xiàn)的模塊,其操作以便執(zhí)行在此描述的操作或功能。如在此使用的,“處理器實(shí)現(xiàn)的模塊”指使用處理器實(shí)現(xiàn)的硬件模塊。
同樣,在此描述的方法可以至少部分地由處理器實(shí)現(xiàn),其中特定的一個(gè)或多個(gè)處理器是硬件的實(shí)例。例如,一種方法的至少某些操作可以由處理器或處理器實(shí)現(xiàn)的模塊執(zhí)行。此外,處理器還可以操作以便支持在“云計(jì)算”環(huán)境中或者作為“軟件即服務(wù)”(saas)執(zhí)行相關(guān)操作。例如,至少某些操作可以由一組計(jì)算機(jī)(作為包括處理器的機(jī)器的實(shí)例)執(zhí)行,其中這些操作可以經(jīng)由網(wǎng)絡(luò)(例如,因特網(wǎng))并且經(jīng)由適當(dāng)?shù)慕涌?例如,應(yīng)用程序接口(api))訪問(wèn)。
某些操作的執(zhí)行可以在處理器之間分布,不僅駐留在單個(gè)機(jī)器內(nèi),而是跨多個(gè)機(jī)器部署。在某些實(shí)例實(shí)施例中,處理器或處理器實(shí)現(xiàn)的模塊位于單個(gè)地理位置中(例如,在家庭環(huán)境、辦公環(huán)境或服務(wù)器農(nóng)場(chǎng)內(nèi))。在其它實(shí)例實(shí)施例中,處理器或處理器實(shí)現(xiàn)的模塊跨多個(gè)地理位置分布。
應(yīng)用
圖15示出與某些實(shí)施例一致的執(zhí)行移動(dòng)操作系統(tǒng)(例如,iostm、androidtm、
可以在移動(dòng)設(shè)備1500上執(zhí)行許多種類的應(yīng)用(也被稱為“app”),例如本機(jī)應(yīng)用(例如,以在iostm上運(yùn)行的objective-c、swift或另一種合適的語(yǔ)言編程的應(yīng)用,或者以在androidtm上運(yùn)行的java編程的應(yīng)用)、移動(dòng)web應(yīng)用(例如,以超文本標(biāo)記語(yǔ)言5(html5)編寫的應(yīng)用)或混合應(yīng)用(例如,啟動(dòng)html5會(huì)話的本機(jī)shell應(yīng)用)。例如,移動(dòng)設(shè)備1500包括消息傳送應(yīng)用、音頻記錄應(yīng)用、照相機(jī)應(yīng)用、書(shū)籍閱讀器應(yīng)用、媒體應(yīng)用、健身應(yīng)用、文件管理應(yīng)用、定位應(yīng)用、瀏覽器應(yīng)用、設(shè)置應(yīng)用、聯(lián)系人應(yīng)用、電話呼叫應(yīng)用或其它應(yīng)用(例如,游戲應(yīng)用、社交網(wǎng)絡(luò)應(yīng)用、生物測(cè)量監(jiān)視應(yīng)用)。在另一個(gè)實(shí)例中,移動(dòng)設(shè)備1500包括諸如
軟件架構(gòu)
圖16是示出可以安裝在上述任何設(shè)備上的軟件1602的架構(gòu)的框圖1600。圖16僅是軟件架構(gòu)的一個(gè)非限制性實(shí)例,并且將認(rèn)識(shí)到,可以實(shí)現(xiàn)許多其它架構(gòu)以便促進(jìn)在此描述的功能。在各種實(shí)施例中,軟件1602由諸如圖17的機(jī)器1700之類的硬件實(shí)現(xiàn),機(jī)器1700包括處理器1710、存儲(chǔ)器1730和i/o組件1750。在該實(shí)例架構(gòu)中,軟件1602可以被概念化為層的堆疊,其中每層可以提供特定功能。例如,軟件1602包括諸如操作系統(tǒng)1604、庫(kù)1606、框架1608和應(yīng)用1610之類的層。在操作上,與某些實(shí)施例一致,應(yīng)用1610通過(guò)軟件堆棧調(diào)用應(yīng)用編程接口(api)調(diào)用1612,并且響應(yīng)于api調(diào)用1612而接收消息1614。
在各種實(shí)現(xiàn)中,操作系統(tǒng)1604管理硬件資源并且提供公共服務(wù)。操作系統(tǒng)1604例如包括內(nèi)核1620、服務(wù)1622和驅(qū)動(dòng)程序1624。與某些實(shí)施例一致,內(nèi)核1620充當(dāng)硬件與其它軟件層之間的抽象層。例如,內(nèi)核1620提供存儲(chǔ)器管理、處理器管理(例如,調(diào)度)、組件管理、網(wǎng)絡(luò)和安全設(shè)置等功能。服務(wù)1622可以針對(duì)其它軟件層提供其它公共服務(wù)。根據(jù)某些實(shí)施例,驅(qū)動(dòng)程序1624負(fù)責(zé)控制底層硬件或者與底層硬件對(duì)接。例如,驅(qū)動(dòng)程序1624可以包括顯示驅(qū)動(dòng)程序、照相機(jī)驅(qū)動(dòng)程序、
在某些實(shí)施例中,庫(kù)1606提供由應(yīng)用1610使用的低級(jí)公共基礎(chǔ)架構(gòu)。庫(kù)1606可以包括系統(tǒng)庫(kù)1630(例如,c標(biāo)準(zhǔn)庫(kù)),其可以提供諸如存儲(chǔ)器分配功能、字符串操縱功能、數(shù)學(xué)功能之類的功能。此外,庫(kù)1606可以包括api庫(kù)1632,例如媒體庫(kù)(例如,支持呈現(xiàn)和操縱各種媒體格式的庫(kù),這些媒體格式例如包括運(yùn)動(dòng)圖像專家組4(mpeg4)、高級(jí)視頻編碼(h.264或avc)、運(yùn)動(dòng)圖像專家組第3層(mp3)、高級(jí)音頻編碼(aac)、自適應(yīng)多速率(amr)音頻編解碼器、聯(lián)合圖像專家組(jpeg或jpg)或便攜式網(wǎng)絡(luò)圖形(png))、圖形庫(kù)(例如,用于在顯示器上的圖形內(nèi)容中以二維(2d)和三維(3d)呈現(xiàn)的opengl框架)、數(shù)據(jù)庫(kù)庫(kù)(例如,提供各種關(guān)系數(shù)據(jù)庫(kù)函數(shù)的sqlite)、web庫(kù)(例如,提供web瀏覽功能的webkit)等。庫(kù)1606還可以包括各種其它庫(kù)1634以便向應(yīng)用1610提供許多其它api。
根據(jù)某些實(shí)施例,框架1608提供可以由應(yīng)用1610使用的高級(jí)公共基礎(chǔ)架構(gòu)。例如,框架1608提供各種圖形用戶界面(gui)功能、高級(jí)資源管理、高級(jí)定位服務(wù)等??蚣?608可以提供廣泛的可以由應(yīng)用1610使用的其它api,其中某些api可以特定于特定的操作系統(tǒng)或平臺(tái)。
在一個(gè)實(shí)例實(shí)施例中,應(yīng)用1610包括家庭應(yīng)用1650、聯(lián)系人應(yīng)用1652、瀏覽器應(yīng)用1654、書(shū)籍閱讀器應(yīng)用1656、定位應(yīng)用1658、媒體應(yīng)用1660、消息傳送應(yīng)用1662、游戲應(yīng)用1664以及各種其它應(yīng)用,例如第三方應(yīng)用1666。根據(jù)某些實(shí)施例,應(yīng)用1610是執(zhí)行程序中定義的功能的程序。可以采用各種編程語(yǔ)言創(chuàng)建以各種方式構(gòu)造的應(yīng)用1610,例如面向?qū)ο蟮木幊陶Z(yǔ)言(例如,objective-c、java或c++)或過(guò)程式編程語(yǔ)言(例如,c或匯編語(yǔ)言)。在一個(gè)特定實(shí)例中,第三方應(yīng)用1666(例如,由特定平臺(tái)的供應(yīng)商之外的實(shí)體使用androidtm或iostm軟件開(kāi)發(fā)工具包(sdk)開(kāi)發(fā)的應(yīng)用)可以是在移動(dòng)操作系統(tǒng)上運(yùn)行的移動(dòng)軟件,該移動(dòng)操作系統(tǒng)例如包括iostm、androidtm、
實(shí)例機(jī)器架構(gòu)和機(jī)器可讀介質(zhì)
圖17是示出根據(jù)某些實(shí)施例的機(jī)器1700的組件的框圖,機(jī)器1700能夠從機(jī)器可讀介質(zhì)(例如,機(jī)器可讀存儲(chǔ)介質(zhì))讀取指令并且執(zhí)行在此討論的任何方法。具體地說(shuō),圖17示出計(jì)算機(jī)系統(tǒng)的實(shí)例形式的機(jī)器1700的圖形表示,其中可以執(zhí)行用于導(dǎo)致機(jī)器1700執(zhí)行在此討論的任何方法的指令1716(例如,軟件、程序、應(yīng)用、小程序、應(yīng)用或其它可執(zhí)行代碼)。在備選實(shí)施例中,機(jī)器1700作為獨(dú)立設(shè)備操作或者可以耦合(例如,聯(lián)網(wǎng))到其它機(jī)器。在聯(lián)網(wǎng)部署中,機(jī)器1700可以在服務(wù)器-客戶機(jī)網(wǎng)絡(luò)環(huán)境中的服務(wù)器機(jī)器或客戶機(jī)機(jī)器的容量中操作,或者在對(duì)等(或分布式)網(wǎng)絡(luò)環(huán)境中作為對(duì)等機(jī)器操作。機(jī)器1700可以包括但不限于服務(wù)器計(jì)算機(jī)、客戶機(jī)計(jì)算機(jī)、個(gè)人計(jì)算機(jī)(pc)、平板計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本、機(jī)頂盒(stb)、個(gè)人數(shù)字助理(pda)、娛樂(lè)媒體系統(tǒng)、蜂窩電話、智能電話、移動(dòng)設(shè)備、可佩帶式設(shè)備(例如,智能手表)、智能家用設(shè)備(例如,智能家電)、其它智能設(shè)備、web設(shè)備、網(wǎng)絡(luò)路由器、網(wǎng)絡(luò)交換機(jī)、網(wǎng)絡(luò)橋接器,或者能夠按順序或以其它方式執(zhí)行指令1716(其指定機(jī)器1700要采取的動(dòng)作)的任何機(jī)器。此外,盡管僅示出單個(gè)機(jī)器1700,但還應(yīng)理解,術(shù)語(yǔ)“機(jī)器”包括單獨(dú)或共同執(zhí)行指令1716以便執(zhí)行在此討論的任何方法的機(jī)器1700的集合。
在各種實(shí)施例中,機(jī)器1700包括處理器1710、存儲(chǔ)器1730和i/o組件1750,它們可以被配置為經(jīng)由總線1702彼此通信。在一個(gè)實(shí)例實(shí)施例中,處理器1710(例如,中央處理單元(cpu)、精簡(jiǎn)指令集計(jì)算(risc)處理器、復(fù)雜指令集計(jì)算(cisc)處理器、圖形處理單元(gpu)、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、射頻集成電路(rfic)、另一個(gè)處理器或者它們的任何合適的組合)例如包括可以執(zhí)行指令1716的處理器1712和處理器1714。術(shù)語(yǔ)“處理器”旨在包括可以包含兩個(gè)或更多獨(dú)立處理器(也被稱為“核心”)的多核處理器,這些獨(dú)立處理器可以同時(shí)執(zhí)行指令。盡管圖17示出多個(gè)處理器,但機(jī)器1700可以包括具有單個(gè)核心的單個(gè)處理器、具有多個(gè)核心的單個(gè)處理器(例如,多核處理器)、具有單個(gè)核心的多個(gè)處理器、具有多個(gè)核心的多個(gè)處理器或它們的任何組合。
根據(jù)某些實(shí)施例,存儲(chǔ)器1730包括主存儲(chǔ)器1732、靜態(tài)存儲(chǔ)器1734和存儲(chǔ)單元1736,處理器1710可以經(jīng)由總線1702訪問(wèn)它們。存儲(chǔ)單元1736可以包括機(jī)器可讀介質(zhì)1738,其上存儲(chǔ)體現(xiàn)在此描述的任何方法或功能的指令1716。在由機(jī)器1700執(zhí)行期間,指令1716還可以完全或至少部分地駐留在主存儲(chǔ)器1732內(nèi)、靜態(tài)存儲(chǔ)器1734內(nèi)、至少一個(gè)處理器1710內(nèi)(例如,在處理器的高速緩沖存儲(chǔ)器內(nèi))或它們的任何合適的組合。因此,在各種實(shí)施例中,主存儲(chǔ)器1732、靜態(tài)存儲(chǔ)器1734和處理器1710被認(rèn)為是機(jī)器可讀介質(zhì)1738。
如在此使用的,術(shù)語(yǔ)“存儲(chǔ)器”指能夠臨時(shí)或永久存儲(chǔ)數(shù)據(jù)的機(jī)器可讀介質(zhì)1738,并且可以被認(rèn)為包括但不限于隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、緩沖存儲(chǔ)器、閃存和高速緩沖存儲(chǔ)器。盡管機(jī)器可讀介質(zhì)1738在一個(gè)實(shí)例實(shí)施例中被示為單個(gè)介質(zhì),但術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”應(yīng)被認(rèn)為包括能夠存儲(chǔ)指令1716的單個(gè)介質(zhì)或多個(gè)介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫(kù),或者關(guān)聯(lián)的高速緩存和服務(wù)器)。術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”還應(yīng)被認(rèn)為包括任何介質(zhì)或多個(gè)介質(zhì)的組合,其能夠存儲(chǔ)指令(例如,指令1716)以便由機(jī)器(例如,機(jī)器1700)執(zhí)行,以使得當(dāng)由機(jī)器1700的處理器(例如,處理器1710)執(zhí)行時(shí),所述指令導(dǎo)致機(jī)器1700執(zhí)行在此描述的任何方法。因此,“機(jī)器可讀介質(zhì)”指單個(gè)存儲(chǔ)裝置或設(shè)備,以及包括多個(gè)存儲(chǔ)裝置或設(shè)備的“基于云的”存儲(chǔ)系統(tǒng)或存儲(chǔ)網(wǎng)絡(luò)。術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”因此應(yīng)被認(rèn)為包括但不限于以下形式的數(shù)據(jù)儲(chǔ)存庫(kù):固態(tài)存儲(chǔ)器(例如,閃存)、光介質(zhì)、磁介質(zhì)、其它非易失性存儲(chǔ)器(例如,可擦式可編程只讀存儲(chǔ)器(eprom))或它們的任何合適的組合。術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”明確排除非法定信號(hào)本身。
i/o組件1750包括用于接收輸入、提供輸出、產(chǎn)生輸出、傳輸信息、交換信息、捕獲測(cè)量等的各種組件。一般而言,將認(rèn)識(shí)到,i/o組件1750可以包括圖17中未示出的許多其它組件。i/o組件1750根據(jù)功能被分組,僅用于簡(jiǎn)化以下討論,并且分組決不是限制性的。在各種實(shí)例實(shí)施例中,i/o組件1750包括輸出組件1752和輸入組件1754。輸出組件1752包括視覺(jué)組件(例如,顯示器,例如等離子顯示板(pdp)、發(fā)光二極管(led)顯示器、液晶顯示器(lcd)、投影儀或陰極射線管(crt))、聽(tīng)覺(jué)組件(例如,揚(yáng)聲器)、觸覺(jué)組件(例如,振動(dòng)電動(dòng)機(jī))、其它信號(hào)發(fā)生器等。輸入組件1754包括字母數(shù)字輸入組件(例如,鍵盤、被配置為接收字母數(shù)字輸入的觸摸屏、光電鍵盤或其它字母數(shù)字輸入組件)、基于點(diǎn)的輸入組件(例如,鼠標(biāo)、觸摸板、軌跡球、操縱桿、運(yùn)動(dòng)傳感器或其它指點(diǎn)工具)、觸覺(jué)輸入組件(例如,物理按鈕、提供觸摸或觸摸手勢(shì)的位置和力度的觸摸屏、或其它觸覺(jué)輸入組件)、音頻輸入組件(例如,麥克風(fēng))等。
在某些進(jìn)一步實(shí)例實(shí)施例中,i/o組件1750包括各種其它組件中的生物測(cè)量組件1756、運(yùn)動(dòng)組件1758、環(huán)境組件1760或定位組件1762。例如,生物測(cè)量組件1756包括用于以下操作的組件:檢測(cè)表情(例如,手部表情、面部表情、聲音表情、身體姿勢(shì)或眼睛跟蹤)、測(cè)量生物信號(hào)(例如,血壓、心率、體溫、汗液或腦波)、標(biāo)識(shí)個(gè)人(例如,語(yǔ)音標(biāo)識(shí)、視網(wǎng)膜標(biāo)識(shí)、面部標(biāo)識(shí)、指紋標(biāo)識(shí)或基于腦電圖的標(biāo)識(shí))等。運(yùn)動(dòng)組件1758包括加速度傳感器組件(例如,加速度計(jì))、重力傳感器部件、旋轉(zhuǎn)傳感器組件(例如,陀螺儀)等。環(huán)境組件1760例如包括照明傳感器組件(例如,光度計(jì))、溫度傳感器組件(例如,檢測(cè)環(huán)境溫度的溫度計(jì))、濕度傳感器組件、壓力傳感器組件(例如,氣壓計(jì))、聲學(xué)傳感器組件(例如,檢測(cè)背景噪聲的麥克風(fēng))、接近度傳感器組件(例如,檢測(cè)附近物體的紅外線傳感器)、氣體傳感器組件(例如,機(jī)器嗅覺(jué)檢測(cè)傳感器、氣體檢測(cè)傳感器,其用于檢測(cè)危險(xiǎn)氣體的安全濃度或者測(cè)量大氣中的污染物),或者可以提供對(duì)應(yīng)于周圍物理環(huán)境的指示、測(cè)量或信號(hào)的其它組件。定位組件1762包括定位傳感器組件(例如,全球定位系統(tǒng)(gps)接收器組件)、高度傳感器組件(例如,高度計(jì)或氣壓計(jì),其檢測(cè)可以從中獲得高度的空氣壓力)、方向傳感器組件(例如,磁強(qiáng)計(jì))等。
可以使用各種技術(shù)實(shí)現(xiàn)通信。i/o組件1750可以包括通信組件1764,其可操作以便分別經(jīng)由耦合1782和耦合1772將機(jī)器1700耦合到網(wǎng)絡(luò)1780或設(shè)備1770。例如,通信組件1764包括用于與網(wǎng)絡(luò)1780對(duì)接的網(wǎng)絡(luò)接口組件或另一個(gè)合適的設(shè)備。在進(jìn)一步實(shí)例中,通信組件1764包括有線通信組件、無(wú)線通信組件、蜂窩通信組件、近場(chǎng)通信(nfc)組件、
此外,在某些實(shí)施例中,通信組件1764檢測(cè)標(biāo)識(shí)符或者包括可操作以便檢測(cè)標(biāo)識(shí)符的組件。例如,通信組件1764包括射頻識(shí)別(rfid)標(biāo)簽讀取器組件、nfc智能標(biāo)簽檢測(cè)組件、光讀取器組件(例如,光傳感器,其用于檢測(cè)諸如通用產(chǎn)品代碼(upc)條形碼之類的一維條形碼、諸如快速響應(yīng)(qr)代碼、阿茲特克代碼、數(shù)據(jù)矩陣、dataglyph、maxicode、pdf417、超碼、統(tǒng)一商業(yè)代碼縮小空間符號(hào)(uccrss)2d條形碼之類的多維條形碼、以及其它光代碼)、聲學(xué)檢測(cè)組件(例如,用于標(biāo)識(shí)標(biāo)記音頻信號(hào)的麥克風(fēng))或它們的任何合適的組合。此外,可以經(jīng)由通信組件1764獲得各種信息,例如經(jīng)由網(wǎng)際協(xié)議(ip)地理位置獲得的位置、經(jīng)由
傳輸介質(zhì)
在各種實(shí)例實(shí)施例中,網(wǎng)絡(luò)1780的各部分可以是自組織網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、虛擬專用網(wǎng)絡(luò)(vpn)、局域網(wǎng)(lan)、無(wú)線lan(wlan)、廣域網(wǎng)(wan)、無(wú)線wan(wwan)、城域網(wǎng)(man)、因特網(wǎng)、因特網(wǎng)的一部分、公共交換電話網(wǎng)絡(luò)(pstn)的一部分、普通老式電話服務(wù)(pots)網(wǎng)絡(luò)、蜂窩電話網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、
在實(shí)例實(shí)施例中,經(jīng)由網(wǎng)絡(luò)接口設(shè)備(例如,包括在通信組件1764中的網(wǎng)絡(luò)接口組件)使用傳輸介質(zhì),并且使用多種公知的傳輸協(xié)議(例如,超文本傳輸協(xié)議(http))的任何一種,通過(guò)網(wǎng)絡(luò)1780發(fā)送或接收指令1716。同樣,在其它實(shí)例實(shí)施例中,經(jīng)由耦合1772(例如,對(duì)等耦合)使用傳輸介質(zhì)向設(shè)備1770發(fā)送或接收指令1716。術(shù)語(yǔ)“傳輸介質(zhì)”應(yīng)該被認(rèn)為包括能夠?qū)χ噶?716進(jìn)行存儲(chǔ)、編碼或承載以便由機(jī)器1700執(zhí)行的任何無(wú)形介質(zhì),并且包括數(shù)字或模擬通信信號(hào)或其它無(wú)形介質(zhì)以便促進(jìn)這種軟件的通信。
此外,機(jī)器可讀介質(zhì)1738是非瞬時(shí)性的(換言之,沒(méi)有任何瞬時(shí)信號(hào)),因?yàn)樗话瑐鞑バ盘?hào)。但是,將機(jī)器可讀介質(zhì)1738標(biāo)記為“非瞬時(shí)性”不應(yīng)被解釋為意味著介質(zhì)不能移動(dòng);介質(zhì)應(yīng)該被認(rèn)為可從一個(gè)物理位置傳輸?shù)搅硪粋€(gè)物理位置。此外,因?yàn)闄C(jī)器可讀介質(zhì)1738是有形的,所以介質(zhì)可以被認(rèn)為是機(jī)器可讀設(shè)備。
語(yǔ)言
在本說(shuō)明書(shū)中,多個(gè)實(shí)例可以實(shí)現(xiàn)被描述為單個(gè)實(shí)例的組件、操作或結(jié)構(gòu)。盡管方法的各個(gè)操作被示出和描述為單獨(dú)操作,但可以并行地執(zhí)行各個(gè)操作,并且不需要以示出的順序執(zhí)行操作。作為實(shí)例配置中的單獨(dú)組件呈現(xiàn)的結(jié)構(gòu)和功能可以被實(shí)現(xiàn)為組合結(jié)構(gòu)或組件。同樣,作為單個(gè)組件呈現(xiàn)的結(jié)構(gòu)和功能可以被實(shí)現(xiàn)為單獨(dú)組件。這些和其它變化、修改、添加和改進(jìn)落入本文的主題的范圍內(nèi)。
盡管已參考特定的實(shí)例實(shí)施例描述了本發(fā)明主題的概述,但可以在不偏離本公開(kāi)的實(shí)施例的更廣泛范圍的情況下,對(duì)這些實(shí)施例進(jìn)行各種修改和改變。本發(fā)明主題的此類實(shí)施例在此可以單獨(dú)或統(tǒng)稱為術(shù)語(yǔ)“發(fā)明”,這僅為了方便起見(jiàn)并且并非旨在自愿將本申請(qǐng)的范圍限于任何單個(gè)公開(kāi)或發(fā)明概念(如果實(shí)際上披露多個(gè)公開(kāi)或發(fā)明概念)。
足夠詳細(xì)地描述了在此示出的實(shí)施例,以便使本領(lǐng)域的技術(shù)人員能夠?qū)嵤┕_(kāi)的教導(dǎo)??梢詮闹惺褂煤瞳@得其它實(shí)施例,以使得可以在不偏離本公開(kāi)的范圍的情況下進(jìn)行結(jié)構(gòu)和邏輯替換和改變。因此,具體實(shí)施方式不應(yīng)被認(rèn)為是限制性的,并且各種實(shí)施例的范圍僅由所附權(quán)利要求以及此類權(quán)利要求所賦予的等同物的完整范圍來(lái)限定。
如在此使用的,術(shù)語(yǔ)“或”可以以包含或排他的方式來(lái)解釋。此外,可以針對(duì)在此描述的資源、操作或結(jié)構(gòu)提供多個(gè)實(shí)例作為單個(gè)實(shí)例。此外,各種資源、操作、模塊、引擎和數(shù)據(jù)存儲(chǔ)之間的邊界在某種程度上是任意的,并且特定操作在具體示例性配置的上下文中示出??梢栽O(shè)想功能的其它分配,并且這些分配可以落入本公開(kāi)的各種實(shí)施例的范圍內(nèi)。一般而言,作為實(shí)例配置中的單獨(dú)資源呈現(xiàn)的結(jié)構(gòu)和功能可以被實(shí)現(xiàn)為組合結(jié)構(gòu)或資源。同樣,作為單個(gè)資源呈現(xiàn)的結(jié)構(gòu)和功能可以被實(shí)現(xiàn)為單獨(dú)資源。這些和其它變化、修改、添加和改進(jìn)落入如由所附權(quán)利要求表示的本公開(kāi)的實(shí)施例的范圍內(nèi)。說(shuō)明書(shū)和附圖因此被認(rèn)為是示例性的而不是限制性的。