成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone人機界面常見任務處理方法之聲音處理 (3)

移動開發 iOS
本文介紹的是iPhone人機界面常見任務處理方法,主要講述了處理常見的人物,先來看內容。分為幾個小節來介紹,請深入的去了解。

iPhone人機界面常見任務處理方法是本文要介紹的內容,如果您具有使用桌面計算機或便攜式計算機應用程序的經驗,那么您會發現iPhone應用程序處理很多常見任務的方式與它們不同。

本節從人機界面的角度描述了這些常見任務;關于代碼實現的技術細節,請參考iPhone應用程序編程指南。繼續上一節 iPhone人機界面常見任務處理方法 (2)開始介紹。

使用聲音

用戶期望iPhone OS設備具有非常美妙的聲音,無論是操作系統的聲音(比如鈴聲和警告聲),還是應用程序的聲音(比如媒體播放,環境聲音和配樂)。此外,用戶還希望設備發出的聲音能夠遵從他們的偏好和目的。

用戶決定聲音的音量,以及他們是否想要聽到這些聲音。但是有些時候,即使當前的設置表明用戶更傾向于靜音,他們還是希望聽到某些聲音。例如,用戶總是期望聽到他們設置的警告聲。從本質上講,用戶想要聽到他們期待聽到的聲音,而不愿聽到他們不期待的聲音。

為了幫助您順應這樣的需求,iPhone OS提供了一些編程接口,您可以用來:

描述您應用程序的聲音應該如何與設備上的其他聲音保持一致。

確保應用程序的聲音能夠按照用戶的期望進行播放。

在您決定如何處理應用程序中的聲音之前,您需要了解,當用戶調整設備控件和使用外部設備(如耳機和耳麥)時,他們期望應用程序和設備如何運作。

振鈴/靜音切換—用戶的期望

如果用戶希望做到以下幾點,他們可以使用“振鈴/靜音”切換將他們的設備靜音:

避免被意外的聲音打擾,比如電話鈴聲和來信提示音。

避免聽到用戶操作的附帶聲音,比如鍵盤或其它反饋的聲音,偶然的聲音或應用程序啟動的聲音。

避免聽到游戲的聲音,包括附帶的聲音和配樂,它們并不是使用游戲程序所必需的。

例如,在劇場中,用戶會將他們的設備切換至靜音狀態,以免打擾到劇場中的其他人。在這種情況下,用戶仍然想要使用他們設備上的應用程序,但他們不想被不期望的或沒有明確要求的聲音嚇到,比如鈴聲或新消息提示音。

但是,對于旨在產生聲音的用戶動作,“振鈴/靜音”切換不會消除它們產生的聲音。例如:

媒體應用程序中的媒體播放不會被“振鈴/靜音”切換靜音,因為媒體播放是用戶明確請求的。

時鐘應用程序的警告不會被“振鈴/靜音”切換靜音,因為此警告是用戶明確設置的。

語言學習程序中的音效素材不會被“振鈴/靜音”切換靜音,因為用戶采取明確行動想要聽到它。

語音聊天程序中的會話不會被“振鈴/靜音”切換靜音,因為用戶啟動此類應用程序的唯一目的就是進行語音聊天。

這種行為遵循用戶控制的原則,因為是由用戶(而不是設備)來決定聽到用戶明確請求的聲音是否合適。

音量按鈕—用戶的期望

用戶使用設備的音量按鈕來調節設備播放的所有聲音的音量,包括歌曲,應用程序的聲音和設備的聲音。這意味著用戶可以隨時使用音量按鈕關閉任何聲音,無論“振鈴/靜音”切換的當前狀態如何。

在某些情況下,應用程序適宜在其界面為用戶提供音量設置功能。例如,YouTube顯示了一個音量滑動器,用戶可以用它調整正在觀看的視頻的音量。盡管YouTube正在運行,用戶可以交替使用此滑動器和音量按鈕來調整視頻的音量。這是因為在應用程序運行時,滑動器起到音量按鈕代理的作用:滑動器同時作用于應用程序的音量和整個系統的音量(鈴聲音量除外)。

如果您需要顯示音量滑動器,當您使用

  1. MPVolumeView 

類時一定要使用系統提供的滑動器。請注意,如果當前激活的音頻輸出設備不支持音量控制(比如A2DP設備),音量滑動器將被相應的設備名稱取代。

使用音量按鈕調整應用程序當前播放的音頻,也會同時調整整個系統的音量(鈴聲音量除外)。(在當前沒有播放任何音頻時,使用音量按鈕調整鈴聲的音量。)

這種行為遵循用戶控制的原則,因為用戶可以隨時決定設備發出的聲音應該有多大。

有時候,應用程序可能需要調整相對和絕對音量級,以便在其音頻輸出中產生最佳的混合。但是,最終的音頻輸出的音量應該始終受到系統音量的控制,無論它是通過音量按鈕還是音量滑動器進行調整的。這就意味著,對應用程序音頻輸出的控制仍然掌握在它所歸屬的用戶的手中。

耳機和耳麥—用戶的期望

用戶插入耳機和耳麥就可以獲得私人的聲音體驗并且解放他們的雙手。在使用和不使用附件的情況下,用戶對應用程序的行為有著不同的期望。

當用戶插入耳機和耳麥時,他們是打算繼續聽當前的聲音,只是轉為私下收聽。因此,他們希望當前正在播放音頻的應用程序繼續播放此音頻

當用戶拔下耳機和耳麥時,他們不想自動將正在收聽的內容分享給他人。因此,他們希望當前正在播放音頻的應用程序暫停播放,讓他們準備好之后顯式地重新開始播放。

無線音頻—用戶的期望

用戶非常喜歡無線耳機的便捷,比如藍牙A2DP設備。人們使用無線耳機和耳麥的理由與使用有線耳機和耳麥的理由是一樣的:他們想要私下聽到聲音,并希望解放他們的雙手。

用戶對無線耳機的用戶體驗也有著非常類似的期望:

當用戶連接到無線音頻設備時,他們打算繼續聽到當前的聲音,只是轉為私下收聽。在這種情況下,他們希望音頻能夠繼續播放。

當用戶斷開無線設備時(或者當設備超出作用范圍或關閉時),他們不想自動將正在收聽的內容分享給他人。在這種情況下,他們希望暫停正在播放的音頻,讓他們準備好之后顯式地重新開始播放。

即使用戶沒有實際地插入或拔出無線音頻設備,他們仍然希望能夠選擇一個不同的音頻通道。為了解決這個問題,iPhone OS自動顯示了一個控件,讓用戶選擇音頻輸出路線。由于選擇不同的音頻通道是用戶發起的動作,所以用戶希望正在播放的音頻繼續播放。

定義應用程序的音頻行為

如果聲音能夠增強用戶體驗或應用程序的功能,或者是用戶體驗或應用程序功能必不可少的一部分,您需要決定您的音頻應該如何與設備的音頻環境保持一致,以及應該如何響應用戶的動作。例如,你需要決定:

當設備鎖定或切換至靜音時,您的音頻是否應該繼續播放。

您的音頻是否應該與當前正在播放的其他音頻混合在一起(比如iPod中的歌曲)。

您的應用程序是否需要順序或并行地同時處理音頻輸入和輸出。

您的音頻是否應該在中斷后自動恢復播放。

要控制應用程序的音頻在這些情況下應該如何表現,請使用“音頻會話服務”或AVAudioSession類。這些編程接口不能產生聲音;它們可以幫助您說明您的音頻應該如何與設備上的音頻進行交互,以及如何響應中斷和設備配置中的變化。音頻會話服務管理采用AV基礎框架,音頻隊列服務,OpenAL和I/O音頻單元等技術產生的聲音。

注意:如果您的應用程序僅需要產生功能附帶的用戶界面音效,您可以使用“系統聲音服務”。系統聲音服務是iPhone OS技術,用于產生警告聲音和用戶界面音效,以及振動;它不適用于任何其他目的,而且它產生的聲音不由“音頻會話服務”管理。使用此技術的示例請參考SysSound示例項目。

重要:無論您使用何種技術產生音頻,無論您如何定義它的行為,電話可以隨時中斷當前正在運行的應用程序。這是因為任何應用程序都不應該阻止用戶接聽來電。

音頻會話是您應用程序和系統之間的音頻中介。從用戶體驗的角度來看,音頻會話最重要的一個方面就是定義應用程序的音頻行為的類別。

為了提供良好的音頻用戶體驗,應選擇能最好地描述應用程序音頻的類別。一定要基于類別的語義做出選擇,而不是其行為的確切集合。這將確保您的應用程序能夠按照用戶的期望運轉。此外,如果日后該類別的行為集合被重新修訂,它也能最大限度地保證您的應用程序正常工作。

在極少數情況下,您可能需要通過為音頻會話添加屬性,來增強或改進某個類別的標準行為。例如,您可以添加

  1. kAudioSessionProperty_OtherMixableAudioShouldDuck 

屬性,以確保您應用程序的音頻比所有其他音頻(電話音頻除外)更響亮。如果能夠在其他音頻播放的同時聽到您應用程序的音頻對用戶來說很重要的話,您可以這樣做。但是,您應該注意,一個類別的標準行為代表了大多數用戶的期望,所以您應該在添加屬性完善此行為之前,認真仔細地考慮一下。要了解有關音頻會話屬性的更多內容,請參考音頻會話編程指南中的“微調類別”一節。

您可以根據設備當前的音頻環境選擇您的類別。舉個例子,如果用戶可以在收聽其他音頻(不是您提供的配樂)的同時使用您的應用程序,您可能想要這樣做。如果這對于您的應用程序來說行得通,一定要避免強迫用戶停止收聽他們的音樂,或是在您的應用程序啟動時強迫用戶做出明確的配樂選擇。要了解如何做到這一點,參考“小結”中的場景2。

當應用程序正在運行時,您也可以改變音頻會話的類別,雖然很少有必要這樣做。這樣做的主要原因是,應用程序需要在不同的時刻支持錄音和播放。在這樣的應用程序中,更好的做法是根據需要在Record類別和Playback類別之間進行切換,而不是選擇Play和Record類別。這是因為選擇Record類別,會使警告(比如來信警告)在錄音正在進行時沒有聲音。

表4-1列出了您可以使用的音頻會話類別。iPhone OS默認為音頻會話分配了Solo Ambient類別。

注意:由于空間有限,表4-1只顯示了每個類別名稱的最后一部分。每個類別的實際符號名稱均以

  1. AVAudioSessionCategory 

開始。例如,

  1. MixWithOthers 

屬性的實際符號名稱是

  1. kAudioSessionProperty_OverrideCategoryMixWithOthers 

表 4-1  您可以用來在應用程序中定義聲音行為的音頻會話類別(單擊放大)

iPhone人機界面常見任務處理方法 (3)

小結:iPhone人機界面常見任務處理方法 (3)的內容介紹完了,希望本文對你有所幫助!請深入了解,推薦以下幾篇文章:

iPhone人機界面常見任務處理方法 (1)

iPhone人機界面常見任務處理方法 (2)

iPhone人機界面常見任務處理方法 (4)

 

責任編輯:zhaolei 來源: 博客園
相關推薦

2011-08-01 14:20:43

iPhone 界面 屏幕

2011-08-01 14:42:47

iPhone 應用程序 聲音

2011-08-01 14:26:41

iPhone 應用程序 事件

2014-09-18 10:53:38

Apple Pay開發人機界面

2020-10-04 13:11:38

物聯網工業4.0技術

2015-11-04 09:54:34

ios9人機界面ui

2016-03-14 10:33:15

應用蘋果界面

2020-08-04 10:40:18

邊緣AI人機界面HMI

2021-10-28 11:16:26

AI 數據人工智能

2017-04-07 14:42:27

人機界面語音觸覺

2023-06-25 10:10:00

2011-08-11 10:39:46

諾基亞iPhoneAndroid

2011-08-08 10:23:41

iPhone 流播放 文件

2021-10-29 10:50:41

技術資訊

2009-04-05 09:21:24

iphoneNokia移動OS

2012-08-17 09:47:01

施耐德電氣人機界面

2013-05-23 10:23:04

DebianDebian 7.0

2018-06-27 06:33:44

2010-04-22 18:17:29

Aix系統故障

2013-01-06 10:43:07

Linux集群
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美日韩电影 | 午夜精品影院 | 中文字幕一区二区三区不卡 | 四虎成人精品永久免费av九九 | 五月婷婷导航 | 精品视频成人 | 亚洲免费精品 | 成人一区二区三区在线观看 | 亚洲一区二区三区免费视频 | 国产精品久久毛片av大全日韩 | 凹凸日日摸日日碰夜夜 | 性色av网站 | 亚洲综合色网 | 欧美日韩在线免费观看 | 拍真实国产伦偷精品 | www.色综合 | 久久1区 | 久久欧美精品 | 欧美一区2区三区4区公司二百 | 亚洲视频在线免费观看 | 国产精品日韩欧美一区二区三区 | 精品国产乱码久久久 | 中文字幕91| 国产精品久久久久久久久久久久久 | 欧美一区二区在线观看 | 久久久久久久久久久久久九 | 国产高清精品在线 | 99成人| 酒色成人网 | 中文字幕av亚洲精品一部二部 | 国产精品久久久久久久久大全 | 四虎影| 国产主播第一页 | 午夜网站视频 | 国产一区二区免费 | 国产资源视频 | 一区二区三区av夏目彩春 | 国产高潮好爽受不了了夜色 | 免费精品 | 天天插天天搞 | 色香蕉在线 |