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