本頁面說明如何按照多感官設計系統 (MSDS) 的指南,在應用程式中加入音訊觸覺回饋。 keywords_public: > haptics, vibration, audio, feedback, Android, UI, UX, design, multisensory, msds
在 Android 裝置上執行的應用程式,可提供符合多感官設計系統 (MSDS) 的多感官音訊觸覺回饋,這是一個權杖化元件庫,可提供一致的音訊和觸覺回饋。
為什麼要使用 MSDS?
MSDS 是集中式設計系統,可改善音訊和觸覺回饋。有了 MSDS,您就不必針對常見的使用者互動,設計、選取或製作自己的觸覺或聽覺回饋。
此外,MSDS 在各種裝置上都能穩定運作,並根據裝置功能,以最佳方式同步音訊和觸覺回饋。
何時該使用 MSDS?
MSDS 會針對常見的使用者互動提供回饋。這類回饋會在使用者操作導致系統或應用程式產生效果時觸發,分為以下兩類:
手勢回饋:確認使用者直接手勢對 UI 元素進行的即時實體操作。
語意回饋:確認即時狀態變更、選取項目或使用者進度。
如何使用 MSDS?
MultisensoryManager API 是提供 MSDS 意見回饋的進入點。您可以使用 playToken() 方法播放權杖化回饋。
如要查看可用的權杖,請參閱 MultisensoryManager 的公開整數常數。如要在應用程式中使用管理工具,請將其做為系統服務和播放權杖進行查詢:
@RequiresApi(Build.VERSION_CODES_FULL.CINNAMON_BUN_2) @Composable fun MultisensorySwitch() { val context = LocalContext.current val multisensoryManager = remember(context) { context.getSystemService(MultisensoryManager::class.java) } var checked by remember { mutableStateOf(false) } Switch( checked = checked, onCheckedChange = { isChecked -> checked = isChecked if (isChecked) { multisensoryManager?.playToken(MultisensoryManager.TOKEN_SWITCH_ON) } else { multisensoryManager?.playToken(MultisensoryManager.TOKEN_SWITCH_OFF) } } ) }
您也可以在 ViewModel 中保留 MultisensoryManager 的參照,以便在方法呼叫或 UI 狀態變更時觸發 MSDS 播放。
建議
MSDS 回饋通常會與動畫或使用者手勢一起播放,因為這類回饋是由使用者主動互動觸發。在適當的時間播放回饋,讓視覺、音訊和觸覺回饋盡可能同時觸發。
視應用程式結構而定,這項建議可能會導致 UI 可組合回呼 (例如先前的 Switch 範例) 內部的播放呼叫、UI State 或 StateFlow 的變更、動畫影格,或 UI 對使用者直接輸入內容的回應。
一般來說,建議在使用者能察覺系統中動作的結果時,提供意見回饋。