audio-streaming
Receive synchronized PCM audio frames through a Camera stream on Android
Stream accelerometer, gyroscope, magnetometer, and orientation samples from connected wearables on Android
$ npx -y skills add facebook/meta-wearables-dat-android --skill motion --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/motionContext preview
The summary Claude sees to decide when to auto-load this skill.
Stream accelerometer, gyroscope, magnetometer, and orientation samples from connected wearables on Android
name: motion description: Stream accelerometer, gyroscope, magnetometer, and orientation samples from connected wearables on Android
Motion is an experimental capability for streaming inertial sensor samples. Enable it for the app in Wearables Developer Center. It has no runtime `Permission` value.
Call `addMotion` only after `DeviceSessionState.STARTED`. The returned capability starts in `STOPPED`; launch collectors before calling `start()`.
session.addMotion(
MotionConfiguration(samplingRate = MotionSamplingRate.HZ_30),
).fold(
onSuccess = { motion ->
motionSampleJob = lifecycleScope.launch {
motion.samples.collect { sample -> render(sample) }
}
motion.start()
},
onFailure = { error, _ -> showError(error.description) },
)Retain the sample job while streaming. Collect `state` for lifecycle updates and `errors` for sensor, connection, and closure failures.
Sampling rates are 5, 10, 15, 24, 30, and 60 Hz; 10 Hz is the default.
`timestampNs` uses the device monotonic clock. Accelerometer values are m/s², gyroscope values are rad/s, and magnetometer values are µT. Each sensor value and orientation can be `null`; `source` identifies glasses, Neural Band, or an unknown source.
Motion normally transitions `STOPPED -> STARTING -> STARTED`. When its parent session pauses, it reports `MotionState.PAUSED` and automatically restarts when the session resumes.
`motion.stop()` is reusable. Cancel the sample job before calling `session.removeMotion()` and handle its `DatResult`; removal is terminal.
Replay an in-memory recording with `glasses.services.motion.setMotionFeed(samples, loop = true)` or provide a CSV file URI. App logic should observe the SDK Motion state rather than `isStreaming`, which is a test assertion helper.
Motion is experimental. Apps can use it for development and beta testing, but cannot publish it to production release channels yet.
The Meta Wearables Device Access Toolkit enables developers to utilize Meta's AI glasses to build hands-free wearable experiences into their mobile applications.
Receive synchronized PCM audio frames through a Camera stream on Android
Capture standalone high-quality photos from connected glasses on Android
Session and Stream capability setup, video frames, photo capture, resolution and frame rate configuration
Kotlin patterns, DatResult, session and capability conventions for DAT SDK Android development
Use the Wearables DAT MCP server for live DAT documentation search with `search_dat_docs`, Muse Code, Claude Code, Codex, Cursor,…