hasAmplitudeControl, createWaveform API

English

Hello, I’m currently developing a system using the Galaxy Watch that involves haptic feedback, and I’ve encountered some challenges that are difficult to resolve through simple searches. I’m hoping to get some assistance on the following topics:

  1. Generating vibrations on the Galaxy Watch with createOneshot and createPredefined.
  2. Generating vibrations on the Galaxy Watch with amplitude control using createWaveform.

While there is ample information available on calling predefined vibration patterns (point 1), I’ve found limited resources on dynamically generating vibrations with controlled amplitudes (point 2).

It’s stated that Wear OS can use Android’s vibration API, and that amplitude control is only possible if the Vibrator.hasAmplitudeControl function returns true.

If anyone has experience with controlling vibration amplitude on the Galaxy Watch series with Wear OS, or has used the Vibrator.hasAmplitudeControl or createWaveform functions, I would greatly appreciate your insights and sharing your experiences.

한글

안녕하세요. 갤럭시워치를 사용하여 작은 시스템을 개발중에 있습니다.

시스템에서 햅틱 피드백과 관련한 내용이 있고, 검색으로 찾기 어려운 내용들이 있어 도움을 받고자합니다.

  1. 갤럭시 워치에서 진동 생성 createoneshot, createpredefined
  2. 갤럭시 워치에서 진동 진폭 조절 생성 → createwaveform

갤럭시 워치 진동 개발과 관련하여 1번에 해당되는 이미 정의되어있는 진동패턴의 호출은 검색이 많이 되괴 있지만, 2번에 해당되는 진동을 실시간으로 진폭을 변조하여 생성되는 내용은 검색이 되고있지않습니다.

Wear OS에서도 Android의 진동 API를 사용할 수 있다고 되어있는데, Vibrator.hasAmplitudeControl 함수의 return 값이 true일 경우에만 진동을 진폭을 조절할 수 있다고 되어있습니다.

갤럭시 워치 시리즈에서 Wear OS로 진동의 진폭을 조절해보신 경험이 있거나, Vibrator.hasAmplitudeControl 함수 혹은 createwaveform 함수를 사용해본 경험이 있다면 공유해주시면 감사하겠습니다.

API 1

  1. static VibrationEffect createWaveform(long[] timings, int[] amplitudes, int repeat)
    파형 진동을 생성합니다.

API 2
2. static VibrationEffect createWaveform(long[] timings, int repeat)
제공된 시간 간격으로 끄기/켜기 전환만 사용하고 잠재적으로 반복되는 파형 진동을 생성합니다.

URL : https://developer.android.com/reference/android/os/Vibrator#hasAmplitudeControl()
URL : VibrationEffect  |  Android Developers_gaNDgxNzA2MjMwLjE3MTE5MzczMjc._ga_6HH9YJMN9MMTcxMTk0MDUwNC4yLjAuMTcxMTk0MDUwNC4wLjAuMA…