專利名稱:移動(dòng)設(shè)備上的后臺(tái)音頻的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及媒體技術(shù)。
背景技術(shù):
當(dāng)代移動(dòng)設(shè)備被用于許多類型的用戶應(yīng)用,包括運(yùn)行交互式應(yīng)用以及收聽音樂或其他音頻(例如,廣播)。音頻輸出一般是某些事物用戶常常希望在后臺(tái)中執(zhí)行,例如在設(shè)置播放列表或其他音頻內(nèi)容之后,用戶希望能夠收聽該音頻且仍然能夠使用設(shè)備特征和/或執(zhí)行其他前臺(tái)任務(wù)。為實(shí)現(xiàn)后臺(tái)音頻場(chǎng)景,系統(tǒng)需要使進(jìn)程在后臺(tái)運(yùn)行并播放音頻。對(duì)于這樣的場(chǎng)景當(dāng)前解決方案具有一個(gè)或多個(gè)問題,包括消耗太多電量和/或其他系統(tǒng)資源,提供與系統(tǒng) 用戶體驗(yàn)/界面(UX)差的集成(如果有的話),和/或?qū)踩{引入該系統(tǒng)的可能性。此外,回放可能由于資源耗盡而意外地停止。結(jié)果,一種解決方案是使用“第一方”應(yīng)用作為后臺(tái)音頻程序,(如此處所使用的,“第一方”一般指的是可信代碼,諸如由操作系統(tǒng)廠商所提供的代碼,而“第三方”指的是來自廠商的應(yīng)用,而不管它們的資源或可信度)。然而,這將設(shè)備系統(tǒng)限制成不允許第三方應(yīng)用執(zhí)行后臺(tái)音頻回放和提供不同的用戶體驗(yàn),同時(shí)消耗第一方應(yīng)用的資源等等。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些代表性概念。本發(fā)明內(nèi)容不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在以限制所要求保護(hù)的主題的范圍的任何方式來使用。簡(jiǎn)言之,此處描述的主題的各方面涉及一種技術(shù),媒體服務(wù)借此技術(shù)在移動(dòng)設(shè)備上的后臺(tái)進(jìn)程中播放音頻,如最初由前臺(tái)(例如,第三方)應(yīng)用所指示的。當(dāng)應(yīng)用在前臺(tái)時(shí)經(jīng)由一接口與媒體服務(wù)進(jìn)行通信,包括用于向媒體服務(wù)提供與要播放的音頻數(shù)據(jù)(例如,音軌)相對(duì)應(yīng)的信息。媒體服務(wù)播放音頻,并且在媒體服務(wù)播放后臺(tái)音頻時(shí)應(yīng)針對(duì)音頻回放的請(qǐng)求采取動(dòng)作。例如,針對(duì)音頻回放的請(qǐng)求可對(duì)應(yīng)于用戶動(dòng)作,諸如播放、暫停、跳過、停止、后跳、前跳、查找、快進(jìn)、倒帶、關(guān)于評(píng)級(jí)的動(dòng)作、隨機(jī)和/或重復(fù)播放請(qǐng)求。針對(duì)音頻回放的請(qǐng)求可以提供狀態(tài)信息,諸如正播放、已暫停、已停止、正快進(jìn)、正倒帶、緩沖已開始、緩沖已停止、音軌已準(zhǔn)備好和/或音軌已結(jié)束狀態(tài)。在一個(gè)方面,媒體服務(wù)用于啟動(dòng)代理,該代理提供針對(duì)音頻回放的請(qǐng)求。前臺(tái)應(yīng)用可被停用,而媒體服務(wù)在后臺(tái)中繼續(xù)音頻回放。媒體服務(wù)可使得代理按需被重新啟動(dòng),以獲取附加的音頻信息,例如,要播放的更多音軌。在一個(gè)方面,通用音量控制(例如,系統(tǒng))組件提供針對(duì)音頻回放的請(qǐng)求。應(yīng)用(當(dāng)在前臺(tái)時(shí))可提供確定通用音量控制組件的操作的信息。媒體服務(wù)提供可在通用音量控制組件的用戶界面上呈現(xiàn)的信息,諸如從應(yīng)用和/或代理所獲取的例如文本(標(biāo)題、藝術(shù)家)、圖像等等。在一個(gè)方面,源代理可被配置成輸出音頻數(shù)據(jù),媒體服務(wù)將該音頻數(shù)據(jù)處理成音頻回放。源代理可使用(例如,自定義的)編解碼器、解密機(jī)制、解壓縮機(jī)制、和/或?qū)S脜f(xié)議來提供音頻數(shù)據(jù)。源代理可向共享存儲(chǔ)器輸出音頻數(shù)據(jù)以供媒體服務(wù)處理。與要播放的音頻數(shù)據(jù)相對(duì)應(yīng)的信息可以與控制標(biāo)志相關(guān)聯(lián),該控制標(biāo)志經(jīng)由屬性設(shè)置來指示媒體服務(wù)是否被允許相對(duì)于音頻回放采取特定動(dòng)作。例如,標(biāo)志可包括允許/拒絕對(duì)于正在播放或排隊(duì)待播放的任何媒體項(xiàng)目進(jìn)行跳過下一個(gè)、跳過前一個(gè)、快進(jìn)、暫停、和/或倒帶動(dòng)作。結(jié)合附圖閱讀以下具體實(shí)施方式
,本發(fā)明的其他優(yōu)點(diǎn)會(huì)變得顯而易見。
作為示例而非限制,在附圖中示出了本發(fā)明,附圖中相同的附圖標(biāo)記指示相同或 相似的元素,附圖中圖I是表示包括在音頻回放應(yīng)用從前臺(tái)中被停用的情況下用于播放后臺(tái)音頻的示例組件的框圖。圖2是表示包括在起初音頻以非本機(jī)音頻格式的情況下用于播放后臺(tái)音頻的示例組件的框圖/控制流圖。圖3是表示用于準(zhǔn)備并播放后臺(tái)音頻的示例操作的框圖/控制流圖。圖4是表示可被傳遞以準(zhǔn)備并播放后臺(tái)音頻的示例數(shù)據(jù)的框圖/控制流圖。圖5是表示其中可實(shí)現(xiàn)在此處所描述的各實(shí)施例的一個(gè)或多個(gè)方面的示例性、非限制性計(jì)算系統(tǒng)或操作環(huán)境的框圖,例如,在移動(dòng)電話設(shè)備的例子中。
具體實(shí)施例方式此處描述的技術(shù)的各方面一般針對(duì)其中移動(dòng)設(shè)備等包括后臺(tái)音頻服務(wù)的技術(shù)。為播放音頻,應(yīng)用(例如,第三方應(yīng)用)經(jīng)由后臺(tái)音頻服務(wù)向執(zhí)行回放的媒體服務(wù)發(fā)送請(qǐng)求。通過提供具有已知的對(duì)于系統(tǒng)的影響大小的系統(tǒng)服務(wù)而不是允許不可信應(yīng)用進(jìn)程在后臺(tái)中運(yùn)行,提供了更多的安全性和穩(wěn)定性,同時(shí)允許第三方應(yīng)用指示后臺(tái)音頻回放和關(guān)于回放的操作。應(yīng)當(dāng)理解,此處的任何示例均是非限制性的。因此,本發(fā)明不限于在此描述的任何具體的實(shí)施例、方面、概念、結(jié)構(gòu)、功能或示例。相反,此處所描述的實(shí)施例、方面、概念、結(jié)構(gòu)、功能或示例中的任一個(gè)都是非限制性的,并且本發(fā)明一般能夠以在計(jì)算和移動(dòng)設(shè)備中提供好處和優(yōu)點(diǎn)的各種方式來使用。圖I是示出一個(gè)示例實(shí)現(xiàn)中各組件的框圖。一般而言,媒體服務(wù)102播放由第三方應(yīng)用104結(jié)合播放器代理106 (例如不具有用戶界面的“無頭主持(headless host)”)所指示的后臺(tái)音軌,如下文描述的。應(yīng)用104和/或播放器代理106與媒體服務(wù)102之間的通信經(jīng)由包括API集的后臺(tái)音頻服務(wù)108 (后臺(tái)音頻播放器)。后臺(tái)音頻服務(wù)108支持基本回放和自定義編解碼模式。回放模式可幫助設(shè)備省電,并且使得對(duì)應(yīng)用的編碼相對(duì)簡(jiǎn)單。在下文參考圖2所描述的自定義編解碼模式中,應(yīng)用可執(zhí)行更強(qiáng)大的操作,諸如支持專用DRM(數(shù)字權(quán)限管理)或?qū)S镁幗獯a。
在一個(gè)實(shí)現(xiàn)中,應(yīng)用104用對(duì)播放音頻的請(qǐng)求來調(diào)用后臺(tái)音頻服務(wù)108。媒體服務(wù)102被通知,媒體服務(wù)102進(jìn)而與應(yīng)用實(shí)例管理器110(系統(tǒng)服務(wù))通信以啟動(dòng)播放器代理106。媒體服務(wù)102與應(yīng)用實(shí)例管理器110之間的通信請(qǐng)求為代理106保留資源,且向應(yīng)用實(shí)例管理器110通知播放器代理106是對(duì)時(shí)序要求嚴(yán)格的資源(因此,在典型的操作環(huán)境中,該資源不會(huì)遭受中斷(如果存在中斷則提供差的用戶體驗(yàn)))。一般而言,播放器代理106獨(dú)立于應(yīng)用104,因?yàn)閮烧咧械囊粋€(gè)可保持操作而另一個(gè)不操作、兩者可同時(shí)操作,或在給定時(shí)間兩者都不可操作。
在一個(gè)實(shí)現(xiàn)中,播放器代理106代表應(yīng)用104作出實(shí)際回放請(qǐng)求和其他關(guān)于回放的請(qǐng)求(例如,跳過、倒帶等)。這允許應(yīng)用104從前臺(tái)中被移除等等。在替換實(shí)現(xiàn)中,請(qǐng)求可在代理與應(yīng)用之間共享,而應(yīng)用選擇例如哪些請(qǐng)求自己保留,哪些被委托給代理。注意,使播放器代理負(fù)責(zé)處理請(qǐng)求提供了優(yōu)點(diǎn)請(qǐng)求可經(jīng)由應(yīng)用或其他系統(tǒng)服務(wù)發(fā)起,且由此不存在沖突,并且用戶甚至可在應(yīng)用已被終止或以其他方式被停用之后使用系統(tǒng)。一般而言,媒體服務(wù)102經(jīng)由媒體服務(wù)委托/轉(zhuǎn)換器112向應(yīng)用實(shí)例管理器110通知各種事件,諸如用戶動(dòng)作以及任何播放狀態(tài)改變;(注意,媒體服務(wù)委托/轉(zhuǎn)換器112可另選地被合并到媒體服務(wù)102中)。示例用戶動(dòng)作包括播放、暫停、跳過、停止、跳過下一個(gè)、跳過前一個(gè)、查找、快進(jìn)、倒帶、關(guān)于評(píng)級(jí)的動(dòng)作、隨機(jī)播放和/或重復(fù)。示例播放狀態(tài)包括正播放、已暫停、已停止、正快進(jìn)、正倒帶、緩沖已開始、緩沖已停止、音軌已準(zhǔn)備好和/或音軌已結(jié)束。每次媒體服務(wù)想要與播放器代理106通信時(shí),媒體服務(wù)102指示應(yīng)用實(shí)例管理器110在需要時(shí)重新啟動(dòng)播放器代理106 ;注意,這允許應(yīng)用實(shí)例管理器110在期望時(shí)將播放器代理106留在存儲(chǔ)器中、使播放器代理106進(jìn)入休眠狀態(tài)(被保留在存儲(chǔ)器中但直到被激活才能運(yùn)行代碼)、或完全終止播放器代理106并在需要時(shí)重新啟動(dòng)一實(shí)例。一旦被通知,媒體服務(wù)和播放器代理106可進(jìn)行通信(經(jīng)由后臺(tái)音頻服務(wù)108)以執(zhí)行進(jìn)一步動(dòng)作,諸如請(qǐng)求播放下一音軌,向代理通知用戶已經(jīng)執(zhí)行與音頻有關(guān)的某一動(dòng)作,例如,通過與應(yīng)用104或系統(tǒng)提供的UVC (通用音量控制)114進(jìn)行接口等等。圖I中還示出了對(duì)現(xiàn)有和將來的操作系統(tǒng)用戶體驗(yàn)的后臺(tái)音頻支持/集成,包括UVC(通用音量控制)114集成、本機(jī)第一方播放器114 (Zune )體驗(yàn)、以及經(jīng)由XNA/Si I ver I i ght 環(huán)境120與程序118集成。為此,XNA和Silverlight 可使用本機(jī)回放API來執(zhí)行音頻回放,且媒體服務(wù)回放與來自Silverlight 和XNA的請(qǐng)求進(jìn)行協(xié)調(diào)。該設(shè)計(jì)使得應(yīng)用能夠在一個(gè)進(jìn)程中使用XNA和Silverlight 代碼兩者。其他方面包括“現(xiàn)在播放”令牌、電話調(diào)用中斷以及其他。應(yīng)注意,移動(dòng)設(shè)備可按任何合適的形式輸出音頻。例如,移動(dòng)設(shè)備可經(jīng)由內(nèi)置揚(yáng)聲器、經(jīng)由頭戴式耳機(jī)的耳機(jī)插孔、經(jīng)由無線或有線通信來向另一設(shè)備輸出音頻(例如,通過Wi-Fi輸出到外部聲音系統(tǒng))等等。媒體服務(wù)102可被認(rèn)為是向信宿(sink)提供輸入源信
肩、O圖2是示出替換配置的框圖,包括控制代理206和源代理222。控制代理類似于播放器代理并不再描述。源代理包括被配置成支持諸如從相關(guān)聯(lián)的源流傳輸或漸進(jìn)地下載的非本機(jī)支持的媒體格式的代碼/邏輯。源代理222可由因特網(wǎng)音頻服務(wù)、音樂服務(wù)等來提供,且一般而言,源代理222被配置成處理對(duì)已加密內(nèi)容的解密、對(duì)已壓縮內(nèi)容的解壓縮、對(duì)自定義編碼格式的解碼、自定義協(xié)議等等。源代理可處理一個(gè)或多個(gè)這樣的自定義格式等等。與播放器代理/控制代理不同,需要源代理222保持可操作以提供正確地格式化的內(nèi)容,并且由此不被應(yīng)用實(shí)例管理器停用(除可能在異常環(huán)境下之外)。如圖2中所表示的,應(yīng)用204經(jīng)由后臺(tái)音頻服務(wù)API向媒體服務(wù)102作出播放內(nèi)容的請(qǐng)求,如圖2中帶標(biāo)記的箭頭(Ia)和(Ib)所表示的。進(jìn)而,媒體服務(wù)102與應(yīng)用實(shí)例管理器(帶標(biāo)記的箭頭(2))通信,包括用于保留資源并啟動(dòng)控制代理206,類似于圖I中所描述的(但不具有所示的委托/轉(zhuǎn)換器)??刂拼?06被啟動(dòng),如帶標(biāo)記的箭頭(3)所
/Jn ο當(dāng)被啟動(dòng)時(shí),控制代理206向媒體服務(wù)102作出各請(qǐng)求(箭頭(4)),包括對(duì)特定源代理222的請(qǐng)求。源代理可能先前已經(jīng)被加載到設(shè)備中且被保持在設(shè)備上或根據(jù)需要被下載。如經(jīng)由帶標(biāo)記的箭頭(5)和(6)所表示的,應(yīng)用實(shí)例管理器啟動(dòng)源代理222。源代理222請(qǐng)求媒體服務(wù)播放音軌(箭頭(7a)和(7b)),從而向媒體服務(wù)102通 知源代理222將提供(例如,流傳輸)正確地格式化的內(nèi)容。源代理對(duì)控制代理206作出響應(yīng)音軌已準(zhǔn)備好(箭頭(8a)和(8b))。源代理222將正確地格式化的音頻內(nèi)容(箭頭(9a)和(9b))提供給媒體服務(wù)102的播放組件,(DShow 226,被合并入或耦合到媒體服務(wù)102)。在一個(gè)實(shí)現(xiàn)中,音頻內(nèi)容經(jīng)由共享存儲(chǔ)器228來緩沖,這由于避免了進(jìn)一步的數(shù)據(jù)傳送/復(fù)制而是高效的。如可看到的,在如圖I的基本回放模式中,應(yīng)用104可通過向服務(wù)102發(fā)送音軌(例如,統(tǒng)一資源標(biāo)識(shí)符/URI或諸如HTTP URL)并且要求服務(wù)102播放該音軌,來實(shí)現(xiàn)回放體驗(yàn)。服務(wù)102負(fù)責(zé)部分的回放(對(duì)內(nèi)容讀取/下載/流傳輸,解析容器格式,內(nèi)容解密,音頻流解碼等等)。在如圖2的自定義編解碼模式中,應(yīng)用204結(jié)合源代理222經(jīng)由任何任意機(jī)制按需獲得內(nèi)容(諸如下載、流傳輸、從本地存儲(chǔ)中讀取、或諸如為文本-語(yǔ)音等的動(dòng)態(tài)生成),并在將內(nèi)容傳遞給本機(jī)服務(wù)之前按需執(zhí)行任意處理,諸如解密或解碼。由于共享存儲(chǔ)器228可被用于傳遞內(nèi)容,因此可節(jié)省大量存儲(chǔ)器,而相對(duì)于將已解碼內(nèi)容復(fù)制到另一存儲(chǔ)器緩沖器具有提高的性能。該設(shè)計(jì)還使得ISV(獨(dú)立軟件廠商)能夠通過提供相應(yīng)的源代理(可能與應(yīng)用一起),來更方便地保護(hù)其內(nèi)容許可。轉(zhuǎn)到另一方面,如上所述,設(shè)備系統(tǒng)提供UVC 114控制/用戶界面,用戶通過該UVC114控制/用戶界面能夠獨(dú)立于應(yīng)用104或204來控制音頻回放。一般而言,在任何期望的時(shí)間,用戶按一硬件按鈕來帶出UVC 114控制/用戶界面。注意,在一個(gè)實(shí)現(xiàn)中,當(dāng)應(yīng)用104或204在前臺(tái)時(shí),應(yīng)用可禁用、限制或以其他方式與UVC集成,諸如以示出代替UVC的控制或除了 UVC的控制以外該應(yīng)用的控制,向UVC用戶界面添加文本或圖像(例如,專輯封面)等等。后臺(tái)音頻服務(wù)API 108使得應(yīng)用能夠在它接收用戶交互時(shí)實(shí)現(xiàn)其自己的邏輯。用戶與UVC系統(tǒng)用戶體驗(yàn)的交互(諸如跳過一音軌)由應(yīng)用來處理。應(yīng)用具有禁用/啟用UVC回放控制按鈕、和/或改變諸如標(biāo)題、藝術(shù)家和專輯封面之類的歌曲元數(shù)據(jù)的機(jī)會(huì)。為此,媒體服務(wù)102在回放狀態(tài)改變時(shí)或其他相關(guān)事件發(fā)生時(shí)向應(yīng)用前臺(tái)代碼、第一方后臺(tái)代碼116和UVC 114發(fā)送通知,以確保組件具有正確的元數(shù)據(jù)和回放狀況。為了回放位置,應(yīng)用能夠查詢后臺(tái)服務(wù)。該通知設(shè)計(jì)使得應(yīng)用、UVC 114和第一方播放器116能夠獲取正確的回放狀況和元數(shù)據(jù),而無需引入大量不必要的跨進(jìn)程流量。當(dāng)應(yīng)用在后臺(tái)時(shí),用戶可經(jīng)由UVC 114與音頻進(jìn)行接口。例如,用戶可增加或減小音量,暫停音軌,跳過音軌等等。媒體服務(wù)102由代理(或應(yīng)用)經(jīng)由“現(xiàn)在播放”令牌等來指示關(guān)于可在UVC用戶界面上播放什么,例如,文本(標(biāo)題、藝術(shù)家、專輯名和/或之類的),圖像、徽標(biāo)等。UVC 114與媒體服務(wù)102進(jìn)行(例如,直接地)通信,包括用于訂閱狀況改變(例如,回放改變,諸如播放/暫停/已停止的播放狀態(tài)以及項(xiàng)目已改變(音軌切換)通知,借此UVC拉取諸如來自媒體服務(wù)的供顯示的標(biāo)題/藝術(shù)家/專輯)等相關(guān)數(shù)據(jù)。經(jīng)由應(yīng)用/代理,媒體服務(wù)現(xiàn)在具有與正在播放什么有關(guān)的信息,且在音軌改變時(shí)媒體服務(wù)將指示UVC 114更新標(biāo)題(新的音軌名)。如果媒體服務(wù)對(duì)多個(gè)音軌進(jìn)行排隊(duì),則直到隊(duì)列需要被更新/改變時(shí)才需要涉及應(yīng)用/代理。注意,在一個(gè)替換方案中,代替發(fā)送要播放的單個(gè)音軌,應(yīng)用/代理可發(fā)送多個(gè)音軌的播放列表。這可能是有效的,以便避免為每一新的音軌與代理進(jìn)行通信(包括可能的啟動(dòng))。此外,每一媒體項(xiàng)目(例如,音軌)與媒體控制標(biāo)志中應(yīng)用/代理可設(shè)置的、且對(duì)UVC 114能夠針對(duì)音軌做什么進(jìn)行控制的屬性相關(guān)聯(lián)。例如,應(yīng)用可指定不能跳過一音軌 (諸如例如廣告)。同樣在允許跳過之前,另一應(yīng)用可以讓用戶在必需完整收聽一音軌之前、跳過某有限數(shù)量的音軌。一般而言,媒體控制標(biāo)志包括允許/拒絕跳過下一個(gè)、跳過前一個(gè)、快進(jìn)、暫停和倒帶的屬性。轉(zhuǎn)到與設(shè)備的電話的集成,當(dāng)有傳入呼叫時(shí),媒體服務(wù)被通知。在一個(gè)實(shí)現(xiàn)中,后臺(tái)音樂音量被減小,且鈴聲在聽覺上與后臺(tái)音樂混合。用戶可配置相關(guān)音量級(jí)。如果用戶按下“忽略”,則鈴聲停止而后臺(tái)音頻將繼續(xù)播放(例如,以其先前的音量級(jí))。如果用戶應(yīng)答,則音頻被暫停(例如,如果被媒體控制標(biāo)志允許,或者如果不被允許則被音頻靜音)。由此,混合音頻輸出信號(hào)和鈴聲繼續(xù),直到呼叫嘗試以某種方式結(jié)束,例如,呼叫嘗試被忽略(通過顯式用戶動(dòng)作或直到呼叫嘗試終止)或(通過用戶或自動(dòng)地)被應(yīng)答。當(dāng)用戶應(yīng)答的呼叫結(jié)束時(shí),音頻恢復(fù)播放。圖3和4以及以下簡(jiǎn)述場(chǎng)景示出第三方應(yīng)用可如何使用受管理的后臺(tái)音頻回放API。出于簡(jiǎn)明起見,假設(shè)在以下示例中HTTP URL是所選擇的URI。為此,圖3和4示出用于媒體回放的場(chǎng)景的基本構(gòu)件塊以及數(shù)據(jù)/控制流。注意,如圖所示,應(yīng)用304和代理306具有它們自己的隔離的存儲(chǔ)330,而媒體服務(wù)具有其自己的數(shù)據(jù)存儲(chǔ)332,它可包括隊(duì)列。以下所標(biāo)記的步驟對(duì)應(yīng)于圖3中帶圈的數(shù)字I.應(yīng)用創(chuàng)建服務(wù)請(qǐng)求(“播放這一音軌并且當(dāng)你需要下一音軌時(shí)回呼叫我”)2.服務(wù)開始播放音軌3.用戶關(guān)閉應(yīng)用4.當(dāng)前音軌結(jié)束5.服務(wù)要求系統(tǒng)呼叫代理來獲得下一音軌6.系統(tǒng)開始新的進(jìn)程并調(diào)用代理7.代理執(zhí)行邏輯并提供下一音軌信息8.系統(tǒng)掛起或銷毀該代理9.當(dāng)前音軌結(jié)束···(返回至步驟5)對(duì)于第三方應(yīng)用后臺(tái)音頻回放,應(yīng)用304用于聯(lián)系其在web 334上的服務(wù)器。這通常包括認(rèn)證用戶以及檢索任何用戶數(shù)據(jù)。對(duì)于這一示例,假設(shè)要播放的內(nèi)容由指向某一服務(wù)器的HTTP URL來表示。當(dāng)應(yīng)用304決定是時(shí)候開始播放音樂時(shí),應(yīng)用可執(zhí)行以下示例步驟I.創(chuàng)建后臺(tái)服務(wù)108 (包括API集)的實(shí)例。2.作為其初始化的一部分,后臺(tái)服務(wù)108調(diào)用媒體服務(wù)102以便為應(yīng)用304創(chuàng)建隊(duì)列。這一調(diào)用在對(duì)于該應(yīng)用隊(duì)列尚未存在隊(duì)列的情況下創(chuàng)建隊(duì)列。3.應(yīng)用304檢查以查看后臺(tái)音頻服務(wù)108是否具有當(dāng)前音軌。(對(duì)于這一示例,假設(shè)尚未存在隊(duì)列)4.不存在當(dāng)前音軌,因此應(yīng)用304執(zhí)行其操作以便從服務(wù)器取得音軌(可包括認(rèn)證用戶等等)。 5.對(duì)于這一示例,假設(shè)服務(wù)器返回指向要播放的音軌的HTTP URL。6.應(yīng)用304按需創(chuàng)建音頻音軌(AudioTrack)對(duì)象(或其他合適的數(shù)據(jù)結(jié)構(gòu))、URL中的傳遞、音軌名、以及任何其他元數(shù)據(jù)。7.應(yīng)用304經(jīng)由適當(dāng)?shù)墓δ苷{(diào)用將新音軌對(duì)象傳遞給后臺(tái)音頻服務(wù)108。8.后臺(tái)音頻服務(wù)108經(jīng)由適當(dāng)?shù)墓δ苷{(diào)用來創(chuàng)建新的媒體項(xiàng)目。9.后臺(tái)音頻服務(wù)108查詢給定音頻音軌以尋找它在項(xiàng)目上設(shè)置的URL。10.后臺(tái)音頻服務(wù)108將該音頻添加到媒體服務(wù)/隊(duì)列。11.應(yīng)用調(diào)用后臺(tái)首頻服務(wù)108的播放功能。12.后臺(tái)音頻服務(wù)108通過調(diào)用媒體服務(wù)來發(fā)起回放。13.應(yīng)用接收其感興趣的事件。14.外殼向應(yīng)用告知它正關(guān)閉。15.應(yīng)用拆毀其后臺(tái)音頻服務(wù)108對(duì)象,而媒體服務(wù)繼續(xù)播放音軌?;謴?fù)回放(持續(xù)播放列表隊(duì)列)是另一場(chǎng)景。用戶輕叩電源按鈕以打開屏幕。不用對(duì)手機(jī)解鎖,用戶可按下音量增加鍵來帶出UVC,并輕叩播放按鈕,并且與應(yīng)用相對(duì)應(yīng)的工作站再次開始播放例如其早先停止的同一歌曲。以下是一示例。I.代理接收“基于用戶動(dòng)作的回調(diào)(OnUserAction callback)”。該回調(diào)的參數(shù)提供對(duì)當(dāng)前音軌的引用,而動(dòng)作是“播放”。假設(shè)由于隊(duì)列在相同點(diǎn)處被拆毀而不存在當(dāng)前音軌。2.代理通知不存在當(dāng)前音軌,由此代理到其永久存儲(chǔ)去讀入標(biāo)題、源、以及其播放的最后音軌的位置。3.代理創(chuàng)建新的音頻音軌并相應(yīng)地設(shè)置元數(shù)據(jù)。4.代理通過調(diào)用后臺(tái)音頻服務(wù)108的“進(jìn)程”功能,例如“后臺(tái)音頻播放.進(jìn)程(BackgroundAudioPlayer. Progress) ”,來設(shè)置要在哪里恢復(fù)音頻。5.代理將新的音頻音軌對(duì)象傳遞到后臺(tái)音頻播放器。6.代理調(diào)用后臺(tái)音頻服務(wù)108。7.回放在用戶離開處恢復(fù)(假設(shè)音軌在服務(wù)上仍然可用)?;謴?fù)應(yīng)用(取得隊(duì)列狀態(tài))是另一示例,其中用戶決定復(fù)核他或她經(jīng)由應(yīng)用不能記住的歌曲標(biāo)題。用戶對(duì)設(shè)備解鎖,導(dǎo)航至應(yīng)用列表,并且輕叩應(yīng)用圖標(biāo)。應(yīng)用啟用和并示當(dāng)前播放的藝術(shù)家以及當(dāng)前歌曲回放時(shí)間計(jì)數(shù)器??梢赃x擇“事件”標(biāo)簽,該標(biāo)簽例如示出藝術(shù)家的音樂會(huì)即將到來。以下是一示例。I.應(yīng)用創(chuàng)建后臺(tái)音頻服務(wù)108的實(shí)例。2.作為其初始化的一部分,后臺(tái)音頻服務(wù)108檢查媒體服務(wù)以查看是否已經(jīng)存在應(yīng)用隊(duì)列。3.媒體服務(wù)報(bào)告對(duì)于該應(yīng)用存在后臺(tái)隊(duì)列。4.后臺(tái)音頻服務(wù)108檢索當(dāng)前正播放的音軌的媒體項(xiàng)目值,并創(chuàng)建包含媒體項(xiàng)目值的新音頻音軌對(duì)象。5.應(yīng)用檢查以查看是否存在當(dāng)前音軌,在這一示例中,存在當(dāng)前音軌。
6.應(yīng)用取得當(dāng)前音軌并查詢標(biāo)題。7.由于這是第一元數(shù)據(jù)查詢,因此音頻音軌對(duì)象到達(dá)媒體服務(wù)并獲得可用元數(shù)據(jù)。然后,返回標(biāo)題。8.應(yīng)用調(diào)用一功能(后臺(tái)音頻播放器·播放狀態(tài)(BackgroundAudioPlayer.PlayState))以取得當(dāng)前播放狀態(tài)(正播放(Playing))。9.由于內(nèi)容正在播放,應(yīng)用調(diào)用一功能(音頻音軌.持續(xù)時(shí)間(AudioTrack.Duration))以取得該音軌的持續(xù)時(shí)間。10.應(yīng)用調(diào)用一功能(后臺(tái)音頻播放器.進(jìn)程(BackgroundAudioPlayer.Progress))以取得當(dāng)前位置。11.應(yīng)用用該信息來更新它的用戶界面(UI)。也可執(zhí)行各應(yīng)用之間的切換回放。當(dāng)歌曲/工作站經(jīng)由先前應(yīng)用仍在播放時(shí),用戶可導(dǎo)航進(jìn)入例如第一方媒體播放器(例如Zune ),并輕叩播客。用戶輕叩播放下一新劇集按鈕,使得先前工作站自動(dòng)地停止播放而新的播客回放開始。播客播放一段時(shí)間,直到用戶決定調(diào)到其他無線電內(nèi)容。當(dāng)先前播客仍在播放時(shí),用戶導(dǎo)航至應(yīng)用列表并啟動(dòng)不同的應(yīng)用,其中用戶找到期望的無線電臺(tái)并輕叩播放圖標(biāo)。播客自動(dòng)地停止播放,且用戶現(xiàn)在聽到期望的無線電臺(tái)。以下是一示例。I.原始后臺(tái)音頻代理接收關(guān)于保存(基于播放狀態(tài)改變/關(guān)閉(OnPlayStateChanged/Shutdown))的回調(diào)。2.原始后臺(tái)音頻代理從給定后臺(tái)音頻服務(wù)實(shí)例中抓取當(dāng)前音軌,并且保存標(biāo)題、源、當(dāng)前位置等等。它將這些值保存在其隔離的存儲(chǔ)330中。3.為釋放資源,原始后臺(tái)音頻代理調(diào)用后臺(tái)音頻服務(wù)的功能(后臺(tái)音頻播放器.關(guān)閉(BackgroundAudioPlayer. Close)),該功能指示媒體服務(wù)刪除應(yīng)用的隊(duì)列。注意,在原始后臺(tái)音頻回放由于用戶播放不同的媒體而被停止的事件中,作為關(guān)閉(Shutdown)的一部分,媒體服務(wù)釋放原始應(yīng)用/代理的該資源。播放列表控制(跳過)是另一合乎需要的特征。用戶開始對(duì)音樂進(jìn)行流傳輸,且然后例如進(jìn)入游戲中心(Games hub)以選擇游戲。在玩游戲幾分鐘之后,不合需要的歌曲被播放;而在游戲應(yīng)用中,用戶輕叩音量增加按鈕,使得UVC控制出現(xiàn)。用戶然后可輕叩跳過圖標(biāo)以便移動(dòng)到另一歌曲上。以下是一示例。I.音頻后臺(tái)代理的基于用戶動(dòng)作(OnUserAction)回調(diào)被激發(fā)。該用戶動(dòng)作枚舉被設(shè)置成跳過下一個(gè)(SkipNext)。2.音頻后臺(tái)代理調(diào)用(例如,基于公司的業(yè)務(wù)模型/規(guī)則)確定用戶被允許跳過當(dāng)前音軌的內(nèi)部方法等等。3.音頻后臺(tái)代理查詢web服務(wù)器以尋找要播放的下一音軌的URL。4.音頻后臺(tái)代理創(chuàng)建新的音軌對(duì)象,并設(shè)置URL和其他相關(guān)元數(shù)據(jù)。5.音頻后臺(tái)代理使用后臺(tái)音頻服務(wù)的對(duì)象,該對(duì)象也作為基于用戶動(dòng)作的參數(shù)之一來傳遞以便將新的音頻軌道設(shè)置成新的當(dāng)前音軌。這一動(dòng)作導(dǎo)致當(dāng)前正播放的音軌停止。6.音頻后臺(tái)代理調(diào)用“播放(Play) ”以開始播放新的音軌。示例性操作環(huán)境圖5示出可在其上實(shí)現(xiàn)此處所描述的主題的各方面的合適的移動(dòng)設(shè)備500的示例。移動(dòng)設(shè)備500僅為設(shè)備的一個(gè)示例,并非旨在對(duì)此處所描述的主題的各方面的使用范 圍或功能提出任何限制。移動(dòng)設(shè)備500也不應(yīng)被解釋成對(duì)于在示例性移動(dòng)設(shè)備500中所示出的任一組件或其組合有任何依賴或要求。參考圖5,用于實(shí)現(xiàn)此處所述的主題的各方面的示例性設(shè)備包括移動(dòng)設(shè)備500。在某些實(shí)施例中,移動(dòng)設(shè)備500包括蜂窩電話、允許與其他手持設(shè)備的語(yǔ)音通信的手持設(shè)備、某一其他語(yǔ)音通信設(shè)備等。在這些實(shí)施例中,移動(dòng)設(shè)備500可配備用于拍攝照片的照相機(jī),雖然這在其他實(shí)施例中可能不是必需的。在其他實(shí)施例中,移動(dòng)設(shè)備500包括個(gè)人數(shù)字助理(PDA)、手持游戲設(shè)備、筆記本計(jì)算機(jī)、打印機(jī)、包括機(jī)頂盒、媒體中心等的裝置、或其他裝置、其他移動(dòng)設(shè)備等。在又一些實(shí)施例中,移動(dòng)設(shè)備500可包括通常被認(rèn)作非移動(dòng)的設(shè)備,如個(gè)人計(jì)算機(jī)、服務(wù)器等。移動(dòng)設(shè)備500的組件可以包括但不限于,處理單元505、系統(tǒng)存儲(chǔ)器510和將包括系統(tǒng)存儲(chǔ)器510在內(nèi)的各種系統(tǒng)組件耦合至處理單元505的總線515??偩€515可包括幾種類型的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器總線、存儲(chǔ)控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任一種的局部總線等??偩€515允許在移動(dòng)設(shè)備500的各種組件之間傳送數(shù)據(jù)。移動(dòng)設(shè)備500可以包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能由移動(dòng)設(shè)備500訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)以及可移動(dòng)、不可移動(dòng)介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的任意方法或技術(shù)來實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、ROM、EEPR0M、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光盤存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或者可用于存儲(chǔ)所需信息并且可由移動(dòng)設(shè)備500訪問的任何其他介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”是指具有以在信號(hào)中編碼信息的方式被設(shè)定或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、RF、藍(lán)牙 、無線USB、紅外、WiFi、WiMAX、和其它無線介質(zhì)。上述的任意組合也應(yīng)包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲(chǔ)器510包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),且可包括只讀存儲(chǔ)器(ROM)和隨機(jī)存取存儲(chǔ)器(RAM)。在諸如蜂窩電話等移動(dòng)設(shè)備上,操作系統(tǒng)代碼520有時(shí)被包括ROM中,雖然在其他實(shí)施例中,這不是必需的。類似地,應(yīng)用程序525通常位于RAM中,雖然同樣在其他實(shí)施例中,應(yīng)用程序可位于ROM中或其他計(jì)算機(jī)可讀存儲(chǔ)器中。堆530提供用于與操作系統(tǒng)520和應(yīng)用程序525相關(guān)聯(lián)的狀態(tài)的存儲(chǔ)器。例如,操作系統(tǒng)520和應(yīng)用程序525可在其操作期間將變量和數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在堆530中。移動(dòng)設(shè)備500還可包括其他可移動(dòng)/不可移動(dòng)、易失性/非易失性存儲(chǔ)器。作為示例,圖5示出閃存卡535、硬盤驅(qū)動(dòng)器536、以及記憶棒537。例如,可小型化硬盤驅(qū)動(dòng)器536以適應(yīng)存儲(chǔ)器槽。移動(dòng)設(shè)備500可經(jīng)由可移動(dòng)存儲(chǔ)器接口 531與這些類型的非易失性可移動(dòng)存儲(chǔ)器接口,或可經(jīng)由通用串行總線(USB)、IEEE 5394、一個(gè)或多個(gè)有線端口 540、或天線565連接。在這些實(shí)施例中,可移動(dòng)存儲(chǔ)器設(shè)備535-537可經(jīng)由通信模塊532與移動(dòng)設(shè)備接口。在某些實(shí)施例中,并非所有這些類型的存儲(chǔ)器都可被包括在單個(gè)移動(dòng)設(shè)備上。在其他實(shí)施例中,可將這些和其他類型的可移動(dòng)存儲(chǔ)器中的一個(gè)或多個(gè)包括在單個(gè)移動(dòng)設(shè)備上。
在某些實(shí)施例中,可按更永久地附連到移動(dòng)設(shè)備500的方式連接硬盤驅(qū)動(dòng)器536。例如,硬盤驅(qū)動(dòng)器536可連接到諸如并行高級(jí)技術(shù)附件(PATA)、串行高級(jí)技術(shù)附件(SATA)或其他可連接到總線515的附件等接口。在此類實(shí)施例中,移除硬盤驅(qū)動(dòng)器可涉及移除移動(dòng)設(shè)備500的外殼并移除將硬盤驅(qū)動(dòng)器536連接到移動(dòng)設(shè)備500內(nèi)的支承結(jié)構(gòu)的螺絲釘或其他緊固件。以上描述和在圖5中示出的可移動(dòng)存儲(chǔ)設(shè)備535-537及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)提供對(duì)用于移動(dòng)設(shè)備500的計(jì)算機(jī)可讀指令、程序模塊、數(shù)據(jù)結(jié)構(gòu)、和其他數(shù)據(jù)的存儲(chǔ)。例如,可移動(dòng)存儲(chǔ)器設(shè)備535-537可存儲(chǔ)由移動(dòng)設(shè)備500拍攝的圖像、語(yǔ)音錄音、聯(lián)系人信息、程序、用于程序的數(shù)據(jù)等。用戶可通過諸如鍵盤541和話筒542等輸入設(shè)備向移動(dòng)設(shè)備500中輸入命令和信息。在某些實(shí)施例中,顯示器543可以是觸敏屏幕并可允許用戶在其上輸入命令和信息。鍵盤541和顯示器543可通過耦合到總線515的用戶輸入接口 550連接到處理單元505,但也可由其他接口和總線結(jié)構(gòu)連接,如通信模塊532和有線端口 540。運(yùn)動(dòng)檢測(cè)552可用于確定對(duì)設(shè)備500作出的姿勢(shì)。例如,用戶可經(jīng)由對(duì)話筒542講話以及經(jīng)由在鍵盤541或觸敏顯示器543上輸入的文本消息來與其他用戶通信。音頻單元555可提供電信號(hào)以驅(qū)動(dòng)揚(yáng)聲器544以及接收并數(shù)字化接收自話筒542的音頻信號(hào)。移動(dòng)設(shè)備500可包括提供信號(hào)以驅(qū)動(dòng)照相機(jī)561的視頻單元560。視頻單元560還可接收由照相機(jī)561獲得的圖像并將這些圖像提供給包括在移動(dòng)設(shè)備500上的處理單元506和/或存儲(chǔ)器。由照相機(jī)561獲得的圖像可包括視頻、不形成視頻的一個(gè)或多個(gè)圖像、
或其某一組合。通信模塊532可向一根或多根天線565提供信號(hào)并從其接收信號(hào)。天線565之一可發(fā)射并接收用于蜂窩電話網(wǎng)絡(luò)的消息。另一天線可發(fā)射并接收藍(lán)牙 消息。又一天線(或共享天線)可經(jīng)由無線以太網(wǎng)網(wǎng)絡(luò)標(biāo)準(zhǔn)發(fā)射并接收網(wǎng)絡(luò)消息。更進(jìn)一步,天線將例如GPS信號(hào)等基于位置的信息提供給GPS接口和機(jī)制572。GPS機(jī)制572又使相應(yīng)的GPS數(shù)據(jù)(例如時(shí)間和坐標(biāo))可用于處理。
在某些實(shí)施例中,可使用單根天線來發(fā)射和/或接收用于超過一種類型的網(wǎng)絡(luò)的消息。例如,單根天線可發(fā)射并接收語(yǔ)音和分組消息。當(dāng)在網(wǎng)絡(luò)化環(huán)境中操作時(shí),移動(dòng)設(shè)備500可連接到一個(gè)或多個(gè)遠(yuǎn)程設(shè)備。遠(yuǎn)程設(shè)備可包括個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、蜂窩電話、媒體回放設(shè)備、對(duì)等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括上面相對(duì)于移動(dòng)設(shè)備500所述的許多或全部元件。本文所描述的主題的各方面可與眾多其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適用于此處所描述的主題的各方面的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算環(huán)境等。此處所描述的主題的各方面可在由移動(dòng)設(shè)備執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。本文所描述的主題的各方面也可以在其中任 務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。此外,雖然此處頻繁使用術(shù)語(yǔ)服務(wù)器,但可以認(rèn)識(shí)到,該術(shù)語(yǔ)也可涵蓋客戶機(jī)、分布在一個(gè)或多個(gè)計(jì)算機(jī)上的一個(gè)或多個(gè)進(jìn)程的集合、一個(gè)或多個(gè)獨(dú)立的存儲(chǔ)設(shè)備、一個(gè)或多個(gè)其他設(shè)備的集合、以上的一個(gè)或多個(gè)的組合,等等。結(jié)論盡管本發(fā)明易于作出各種修改和替換構(gòu)造,但其某些說明性實(shí)施例在附圖中示出并在上面被詳細(xì)地描述。然而應(yīng)當(dāng)了解,這不旨在將本發(fā)明限于所公開的具體形式,而是相反地,旨在覆蓋落入本發(fā)明的精神和范圍之內(nèi)的所有修改、替換構(gòu)造和等效方案。
權(quán)利要求
1.在計(jì)算環(huán)境中,一種系統(tǒng),所述系統(tǒng)包括,被配置成在移動(dòng)設(shè)備上的后臺(tái)進(jìn)程中播放音頻的媒體服務(wù),當(dāng)在前臺(tái)時(shí)應(yīng)用用來與所述媒體服務(wù)通行的接口集,所述應(yīng)用經(jīng)由所述接口將與要播放的音頻數(shù)據(jù)相對(duì)應(yīng)的信息傳輸至所述媒體服務(wù),所述媒體服務(wù)被配置成在所述媒體服務(wù)播放后臺(tái)音頻時(shí)對(duì)針對(duì)所述音頻播放的請(qǐng)求采取動(dòng)作。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述應(yīng)用向所述媒體服務(wù)提供統(tǒng)一資源標(biāo)識(shí)符,作為與要播放的音頻數(shù)據(jù)相對(duì)應(yīng)的信息。
3.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述媒體服務(wù)用于啟動(dòng)提供針對(duì)所述音頻回放的請(qǐng)求中的至少一個(gè)請(qǐng)求的代理。
4.如權(quán)利要求I所述的系統(tǒng),其特征在于,還包括提供針對(duì)所述音頻回放的請(qǐng)求中的至少一個(gè)請(qǐng)求的通用音量控制組件。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,當(dāng)在前臺(tái)時(shí)所述應(yīng)用提供確定所述通用音量控制組件的操作的信息。
6.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述媒體服務(wù)提供呈現(xiàn)在所述通用音量控制組件的用戶界面上的信息。
7.如權(quán)利要求I所述的系統(tǒng),其特征在于,還包括源代理,所述源代理被配置成輸出所述媒體服務(wù)將其處理成所述音頻回放的輸出音頻數(shù)據(jù),所述源代理使用編解碼器、解密機(jī)制、解壓縮機(jī)制、或?qū)S脜f(xié)議,或編解碼器、解密機(jī)制、解壓縮機(jī)制、或?qū)S脜f(xié)議的任何組合,來提供所述音頻數(shù)據(jù)。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述源代理被配置向共享存儲(chǔ)器輸出所述音頻數(shù)據(jù)以供處理。
9.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述與要播放的音頻數(shù)據(jù)相對(duì)應(yīng)的信息與控制標(biāo)志相關(guān)聯(lián),所述控制標(biāo)志包括經(jīng)由一個(gè)或多個(gè)屬性來指示所述媒體服務(wù)是否被允許對(duì)所述音頻回放采取特定行動(dòng)的數(shù)據(jù)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述控制標(biāo)志包括一個(gè)或多個(gè)屬性集合,所述集合包括用于以下各項(xiàng)的一屬性跳過下一個(gè)的動(dòng)作、跳過前一個(gè)的動(dòng)作、快進(jìn)動(dòng)作、暫停動(dòng)作、或倒帶動(dòng)作,或以下各項(xiàng)的各屬性的任何組合跳過下一個(gè)的動(dòng)作、跳過前一個(gè)的動(dòng)作、快進(jìn)動(dòng)作、暫停動(dòng)作、或倒帶動(dòng)作。
11.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述針對(duì)音頻回放的請(qǐng)求與用戶動(dòng)作相對(duì)應(yīng),且包括播放、暫停、跳過、停止、跳過下一個(gè)、跳過前一個(gè)、查找、快進(jìn)、倒帶、關(guān)于評(píng)級(jí)的動(dòng)作、隨機(jī)播放或重復(fù),或播放、暫停、跳過、停止、跳過下一個(gè)、跳過前一個(gè)、查找、快進(jìn)、倒帶、關(guān)于評(píng)級(jí)的動(dòng)作、隨機(jī)播放或重復(fù)的任何組合。
12.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述媒體服務(wù)通過返回狀態(tài)信息來對(duì)針對(duì)音頻回放的請(qǐng)求采取動(dòng)作,所述狀態(tài)信息包括正播放、已暫停、已停止、正快進(jìn)、正倒帶、緩沖已開始、緩沖已停止、音軌已準(zhǔn)備或音軌已結(jié)束,或正播放、已暫停、已停止、正快進(jìn)、正倒帶、緩沖已開始、緩沖已停止、音軌已準(zhǔn)備或音軌已結(jié)束的任何組合。
13.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述媒體服務(wù)被耦合到維護(hù)多個(gè)音頻音軌的播放列表的回放隊(duì)列。
14.在計(jì)算環(huán)境中,一種至少部分地在至少一個(gè)處理器上執(zhí)行的方法,所述方法包括,將音頻音軌信息從音頻應(yīng)用傳輸至媒體服務(wù)作為計(jì)算設(shè)備的前臺(tái)應(yīng)用來操作,獲取與所述音頻音軌信息相對(duì)應(yīng)的音頻數(shù)據(jù),關(guān)閉所述前臺(tái)應(yīng)用,在所述媒體服務(wù)中處理所述音頻數(shù)據(jù)以播放所述音頻音軌,包括作為后臺(tái)音頻而另一個(gè)前臺(tái)應(yīng)用正在運(yùn)行。
15.如權(quán)利要求14所述的方法,其特征在于,采取行動(dòng)來啟動(dòng)代理以便獲取附加的音頻音軌信息。
16.如權(quán)利要求14所述的方法,其特征在于,還包括,將由所述應(yīng)用或所述代理或這兩者所提供的信息提供給通用音量控制組件,以供經(jīng)由所述通用音量控制組件的用戶界面來呈現(xiàn)與所述信息相對(duì)應(yīng)的輸出。
17.如權(quán)利要求14所述的方法,其特征在于,還包括采取行動(dòng)來啟動(dòng)源代理,所述源代理被配置成將非本機(jī)音頻格式化的數(shù)據(jù)處理成要被處理的本機(jī)音頻數(shù)據(jù)以便播放所述音頻音軌。
18.—個(gè)或多個(gè)具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)執(zhí)行以下步驟,包括 運(yùn)行音頻用戶接口應(yīng)用,作為移動(dòng)設(shè)備上的前臺(tái)應(yīng)用; 經(jīng)由后臺(tái)音頻服務(wù)接口將信息從所述音頻用戶接口應(yīng)用傳輸至媒體服務(wù),所述信息針對(duì)播放至少一個(gè)音頻音軌;以及 處理與所述媒體服務(wù)中的至少一個(gè)音頻音軌相對(duì)應(yīng)的音頻數(shù)據(jù),以包括在所述音頻用戶接口應(yīng)用被禁用之后提供音頻供輸出。
19.如權(quán)利要求18所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,還具有計(jì)算機(jī)可執(zhí)行指令,用以經(jīng)由所述移動(dòng)設(shè)備來輸出與所述音頻相對(duì)應(yīng)的可聽信號(hào),在所述移動(dòng)設(shè)備上接收電話呼叫嘗試,以及將鈴聲與所述可聽信號(hào)混合直到所述呼叫嘗試結(jié)束。
20.如權(quán)利要求18所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),其特征在于,還具有計(jì)算機(jī)可執(zhí)行指令,用以運(yùn)行源代理以便將非本機(jī)音頻數(shù)據(jù)處理成由所述媒體服務(wù)所處理的音頻數(shù)據(jù)。
全文摘要
本發(fā)明公開了移動(dòng)設(shè)備上的后臺(tái)音頻。本發(fā)明涉及其中移動(dòng)設(shè)備服務(wù)播放如第三方音頻播放器設(shè)備所指示的后臺(tái)音頻的技術(shù)。例如,隨著另一應(yīng)用變成前臺(tái)應(yīng)用,服務(wù)在音頻播放器應(yīng)用從前臺(tái)被禁用之后繼續(xù)播放后臺(tái)音頻。還描述了啟動(dòng)代理以獲取附加信息和/或處理自定義音頻格式,以及處理來自通用(系統(tǒng))音量控制或音頻播放器應(yīng)用(當(dāng)在前臺(tái)時(shí))的用戶請(qǐng)求。
文檔編號(hào)G06F9/48GK102779070SQ201210031630
公開日2012年11月14日 申請(qǐng)日期2012年2月13日 優(yōu)先權(quán)日2011年2月14日
發(fā)明者B·W·尼爾勒, C·J·皮爾遜, E·H·比耶, M·L·威爾遜, P·J·托爾, R·江, W·G·帕頓三世, Y·王, 許樂杰 申請(qǐng)人:微軟公司