2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
ハードウェアを評価する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ハードウェア評価では、この特定の評価のために、効果 1、2、3 というラベルの付いた 3 つの触覚効果を定義します。
効果 1: 事前定義の短い触覚定数
VibrationEffect.EFFECT_CLICK
定数は、HAL と API の間で定数をマッピングするで提供された HAL - API マッピングのベースライン効果または共通点です。これは、よく使用される効果である HapticFeedbackConstants.KEYBOARD_PRESS
にマッピングされています。
この効果を評価することで、対象デバイスがクリア ハプティクスに対応しているかどうかを判断できます。
効果 2: 短いカスタム触覚効果
VibrationEffect.createOneShot(20,255)
定数は、カスタムの触覚効果用です。短い単一のカスタム インパルスの場合、持続時間を定義する推奨最大しきい値は 20 ミリ秒です。20 ミリ秒を超える単一インパルスは、うるさいバイブレーションとして認識されるため、おすすめしません。
図 19. 短いカスタム触覚効果
効果 3: 振幅変動を伴う長いカスタム触覚効果
VibrationEffect.createWaveform(timings[], amplitudes[], int
repeat)
定数は、振幅変動を伴う長いカスタム効果用です。カスタム触覚効果のさまざまな振幅を生成する機能は、リッチ ハプティクスに関するデバイスの機能を評価する指標の一つです。推奨される timings []
と amplitudes []
はそれぞれ {500, 500}
と {128, 255}
です。500 ミリ秒のサンプリング レートで 50% から 100% まで振幅の増加傾向を示します。
図 20. 振幅変動を伴う長いカスタム触覚効果
効果 3 の振幅制御のハードウェア機能を確認するには、Vibrator.hasAmplitudeControl()
メソッドを使用します。振幅が想定どおり変化するように VibrationEffect.createWaveform
を実行するには、結果が true
になる必要があります。
図 21. 触覚効果 1、2、3 の主観評価
主観評価を実施する
一貫性チェックをすばやく行うには、まず主観評価を行います。主観評価の目標は、触覚効果の振幅を観察し、人間が認識できる振幅を持つハプティクスをデバイスが生成できるかどうかを判断することです。
この概念に基づいた具体的な質問は次のようになります。「デバイスは想定どおり、認識可能な触覚効果をユーザーに対して生成できますか?」この質問に答えることで、ユーザーが感じられない認識不能なハプティクスや、波形が想定どおりのパターンを生成しない意図せぬハプティクスなど、ハプティクスの失敗を避けることができます。
高度な品質評価を実施することを強くおすすめします。高度な品質評価では、触覚効果の定量化可能な属性を特徴づけて、高品質なハプティクスを実装します。終了すると、デバイス メーカーは現在の触覚ステータスを診断できるようになります。つまり、全体的な品質を改善する目標を設定できます。ハードウェア評価をご覧ください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-24 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-24 UTC。"],[],[],null,["# Assess the hardware\n\nHardware assessment involves defining three haptic effects, labeled Effects 1,\n2, and 3 for this specific assessment.\n\nEffect 1: Predefined short haptic constants\n-------------------------------------------\n\nThe\n[`VibrationEffect.EFFECT_CLICK`](https://developer.android.com/reference/android/os/VibrationEffect.html#EFFECT_CLICK)\nconstant is the baseline effect or common denominator in the HAL-API mapping\nprovided in [Map constants between HAL and API](/docs/core/interaction/haptics/haptics-map-constants)\n. It's mapped with the most used effect, [`HapticFeedbackConstants.KEYBOARD_PRESS`](https://developer.android.com/reference/android/view/HapticFeedbackConstants#KEYBOARD_PRESS)\n. Assessing this effect helps determine the readiness of your target device for\n[*clear haptics*](/docs/core/interaction/haptics/haptics-ux-foundation#clear-haptics).\n\nEffect 2: Short custom haptic effect\n------------------------------------\n\nThe\n[`VibrationEffect.createOneShot(20,255)`](https://developer.android.com/reference/android/os/VibrationEffect#createOneShot(long,%20int))\nconstant is for custom haptic effects. For short, single custom impulses,\n20 ms is the recommended maximum threshold to define duration. A single\nimpulse longer than 20 ms isn't recommended because it's perceived as a\n[*buzzy\nvibration*](/docs/core/interaction/haptics/haptics-ux-foundation#buzzy-vibration).\n\n**Figure 19.** Short custom haptic effect\n\nEffect 3: Long custom haptic effect with amplitude variation\n------------------------------------------------------------\n\nThe [`VibrationEffect.createWaveform(timings[], amplitudes[], int\nrepeat)`](https://developer.android.com/reference/android/os/VibrationEffect#createWaveform(long%5B%5D,%20int%5B%5D,%20int))\nconstant is for long custom effects with amplitude variation. The ability to\nproduce varying amplitudes for custom haptic effects is one of the indicators to\nevaluate the device's capabilities for [*rich\nhaptics*](/docs/core/interaction/haptics/haptics-ux-foundation#ease-in). The\nrecommended `timings []` and `amplitudes []` are `{500, 500}` and `{128, 255}`,\nrespectively, which presents an increasing trend of amplitude from 50% to 100%,\nwith a 500 ms sampling rate.\n\n**Figure 20.** Long custom haptic effect with amplitude variation\n\nTo check the hardware capabilities of amplitude control for Effect 3, use the\n[`Vibrator.hasAmplitudeControl()`](https://developer.android.com/reference/android/os/Vibrator#hasAmplitudeControl())\nmethod. The result has to be `true` to execute\n[`VibrationEffect.createWaveform`](https://developer.android.com/reference/android/os/VibrationEffect#createWaveform(long%5B%5D,%20int%5B%5D,%20int))\nwith varying amplitude as intended.\n\n**Figure 21.** Subject assessment of haptic effect 1, 2, and 3\n\n### Perform a subjective assessment\n\nFor a quick coherence check, perform a subjective assessment first. The goal of\nthe subjective assessment is to observe the amplitude of the haptic effects to\ndetermine whether the device can generate haptics with human-perceptible\namplitudes.\n\nA specific question structured around this notion looks like this: *Can the\ndevice produce perceptible haptic effects to the users as expected?* Answering\nthis question helps you avoid *failed haptics*, including imperceptible haptics\nthat users can't feel, or unintended haptics where waveforms don't produce\npatterns as intended.\n\n### Perform an advanced assessment\n\nPerforming advanced quality assessments is highly recommended. Advanced quality\nassessments characterize quantifiable attributes of haptic effects to implement\n*quality haptics* . When finished, device manufacturers should be able to\ndiagnose the current haptic status, which means they can set goals to improve\nthe overall quality. See [Hardware\nassessment](/docs/core/interaction/haptics/hardware)."]]