iPhone人機(jī)界面常見任務(wù)處理方法之音頻處理 (4)
iPhone人機(jī)界面常見任務(wù)處理方法是本文要介紹的內(nèi)容,如果您具有使用桌面計算機(jī)或便攜式計算機(jī)應(yīng)用程序的經(jīng)驗(yàn),那么您會發(fā)現(xiàn)iPhone應(yīng)用程序處理很多常見任務(wù)的方式與它們不同。本節(jié)從人機(jī)界面的角度描述了這些常見任務(wù);關(guān)于代碼實(shí)現(xiàn)的技術(shù)細(xì)節(jié),請參考iPhone應(yīng)用程序編程指南。
繼續(xù)上一節(jié) iPhone人機(jī)界面常見任務(wù)處理方法 (3)的內(nèi)容開始介紹,下面是一些場景,它們說明了如何選擇音頻會話類別,以提供用戶期望的音頻體驗(yàn)。
場景 1. 假設(shè)您正在開發(fā)一個教育應(yīng)用程序,幫助人們學(xué)習(xí)一門新的語言。您需要提供在用戶點(diǎn)擊特定控件時播放的反饋聲音;并提供在用戶想要聽到正確的發(fā)音示例時播放的單詞和短語的錄音。
在這個應(yīng)用中,聲音對于應(yīng)用程序的主要功能來說是必不可少的。人們使用該應(yīng)用程序,收聽他們所學(xué)語言中單詞和短語的發(fā)音,所以,即使當(dāng)“振鈴/靜音”切換設(shè)置為靜音或設(shè)備鎖定時,也應(yīng)該播放應(yīng)用程序的聲音。由于用戶需要清楚地聽到發(fā)音,因此,他們希望其他正在播放的音頻被靜音。
為了產(chǎn)生用戶期望的音頻體驗(yàn),您應(yīng)該使用Playback類別。雖然您可以改進(jìn)這一類別,以便與其他音頻(如表4-1中所述)進(jìn)行混合,但是這個應(yīng)用程序應(yīng)該使用默認(rèn)的行為,以確保其他音頻不會與用戶明確選擇要收聽的學(xué)習(xí)內(nèi)容發(fā)生競爭。
場景 2. 假設(shè)您正在開發(fā)一個游戲,讓用戶控制屏幕上的人物完成許多不同的任務(wù)。您需要提供各種各樣的游戲音效和一段游戲配樂。
在這個應(yīng)用中,聲音會大大提升用戶的體驗(yàn),但它并不是主要任務(wù)必不可少的一部分。此外,用戶很可能希望能夠在靜音狀態(tài)下玩游戲,或者一邊聽音樂庫中的歌曲(而不是游戲的配樂)一邊玩游戲。
最好的策略是,要了解當(dāng)您的應(yīng)用程序啟動時用戶是否正在收聽其他音頻。不要讓用戶選擇是否想要聽其他的音頻或您應(yīng)用程序的配樂。相反,要使用“音頻會話服務(wù)”的
- AudioSessionGetProperty
功能,查詢
- kAudioSessionProperty_OtherAudioIsPlaying
屬性的狀態(tài)。根據(jù)查詢的結(jié)果,您可以選擇Ambient類別或Solo Ambient類別(這兩個類別都允許用戶在靜音狀態(tài)下玩游戲):
如果用戶正在收聽其他音頻,您應(yīng)該假設(shè)他們想要繼續(xù)收聽,而不想被迫收聽游戲的配樂。在這種情況下,您應(yīng)該選擇Ambient類別。
如果當(dāng)您的應(yīng)用程序啟動時,用戶沒有收聽任何其他音頻,應(yīng)選擇Solo Ambient類別。
場景 3. 假設(shè)您正在開發(fā)一個應(yīng)用程序,為用戶提供準(zhǔn)確,實(shí)時的到達(dá)所選目的地的導(dǎo)航指示。您需要為行程中的每一步提供語音指導(dǎo),以及一些反饋聲音。此外,您認(rèn)為用戶希望在使用應(yīng)用程序的同時,能夠聽到他們自己的音頻。
在這個應(yīng)用中,語音導(dǎo)航指示代表了程序的主要任務(wù)?;谶@個原因,您應(yīng)該使用Playback類別,它讓您的音頻在設(shè)備鎖定或“振鈴/靜音”切換設(shè)置為靜音時仍能播放。
為了讓人們在使用您應(yīng)用程序的同時,收聽其他的音頻,您可以添加
- kAudioSessionProperty_OverrideCategoryMixWithOthers
屬性。但是,您也想要確保用戶可以在當(dāng)前正在播放的音頻之上,聽到應(yīng)用程序的語音指令。要做到這一點(diǎn),您可以將
- kAudioSessionProperty_OtherMixableAudioShouldDuck
屬性應(yīng)用到音頻會話。這可以確保您的音頻比目前播放的所有音頻(除了電話音頻)更加響亮。
場景 4. 假設(shè)您正在開發(fā)一個博客應(yīng)用程序,允許用戶向中心網(wǎng)站上傳他們的文字和圖片。您可能有一個簡短的啟動聲音文件,各種各樣簡短的聲音效果(比如當(dāng)用戶完成上載時播放的聲音),以及當(dāng)上載失敗時播放的警告聲音。
在這個應(yīng)用中,聲音會提升用戶的體驗(yàn),但它只是附加的。程序的主要任務(wù)與音頻無關(guān),用戶不需要聽到任何聲音,也能成功使用該應(yīng)用程序。在這種情況下,您可以使用“系統(tǒng)聲音服務(wù)”產(chǎn)生聲音。這是因?yàn)閼?yīng)用程序中所有聲音的音頻上下文都符合這一技術(shù)的目的,也就是要產(chǎn)生用戶期望的,遵從設(shè)備鎖定和“振鈴/靜音”切換的用戶界面音效和警告聲音。
提供選項(xiàng)
iPhone OS包含一些幫助用戶做出選擇的元素。當(dāng)您需要在應(yīng)用程序中提供選項(xiàng)時,您應(yīng)該使用這些選擇方法,因?yàn)橛脩粢呀?jīng)熟悉了它們的行為。一般來說,您不應(yīng)該試圖復(fù)制在桌面計算機(jī)應(yīng)用程序中看到的選擇控件的外觀和行為,比如應(yīng)用程序菜單或一組單選按鈕。iPhone OS提供了以下元素,您可以用來向用戶提供選項(xiàng):
列表(即表格視圖)。用戶點(diǎn)擊列表中的某一行選擇一項(xiàng)。列表幾乎適合于顯示任何數(shù)量的選項(xiàng)。有關(guān)在應(yīng)用程序中使用表格視圖的方法的詳細(xì)信息,請參考“表格視圖”。
選擇器,包括日期和時間選擇器。用戶轉(zhuǎn)動選擇器的轉(zhuǎn)輪,直到每個轉(zhuǎn)輪顯示出值的相應(yīng)部分,比如包含年,月,日的日歷日期。要了解有關(guān)在您的iPhone應(yīng)用程序中使用選擇器的更多信息,請參考“日期和時間選擇器”和“選擇器”。
開關(guān)控件。用戶將開關(guān)控件從一側(cè)滑動至另一側(cè),顯示出兩個值之一。開關(guān)控制的設(shè)計意圖是在列表的內(nèi)部提供一個簡單的選項(xiàng)。有關(guān)開關(guān)控件的更多信息,請參考“開關(guān)控件”。
提供許可協(xié)議或免責(zé)聲明
如果您隨同iPhone應(yīng)用程序提供了終端用戶的許可協(xié)議(或EULA),App Store會顯示該協(xié)議,以便用戶在使用您的應(yīng)用程序之前可以閱讀它。
如果可能的話,盡量避免要求用戶在第一次啟動您的應(yīng)用程序時,表示他們同意您的終端用戶許可協(xié)議。這樣用戶能夠立即享用您的應(yīng)用程序。但是,即使這是首選的用戶體驗(yàn),它可能無法在所有情況下都行得通。如果您必須在您的應(yīng)用程序中顯示許可協(xié)議,請嘗試采用一種與您的用戶界面相一致的方式,這樣可以將給用戶造成的不便降到最低。
同樣,如果您需要提供免責(zé)聲明,一定要平衡好業(yè)務(wù)需求與良好的用戶體驗(yàn)。如果可以的話,在您的應(yīng)用程序描述或EULA中提供您的免責(zé)聲明,以便它可以用在App Store中。
小結(jié):iPhone人機(jī)界面常見任務(wù)處理方法 (4)的內(nèi)容介紹完了,希望本文對你有所幫助。請深入了解以下文章:
iPhone人機(jī)界面常見任務(wù)處理方法 (1)