audio-streaming
Receive synchronized PCM audio frames through a Camera stream on Android
Recognize speech on connected glasses and consume partial and final transcriptions on Android
$ npx -y skills add facebook/meta-wearables-dat-android --skill speech --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/speechContext preview
The summary Claude sees to decide when to auto-load this skill.
Recognize speech on connected glasses and consume partial and final transcriptions on Android
name: speech description: Recognize speech on connected glasses and consume partial and final transcriptions on Android
Speech is an experimental on-device recognition capability. Enable it for the app in Wearables Developer Center and obtain `Permission.MICROPHONE` before starting it.
Check permission before attaching Speech. Launch `Wearables.RequestPermissionContract` only from a user-initiated action; it opens the Meta AI app. Android `RECORD_AUDIO` is not required for real-glasses recognition. It is needed only when a MockDevice test deliberately uses live phone recognition.
Call `addSpeech` after `DeviceSessionState.STARTED`. Launch collectors before `start()`.
session.addSpeech().fold(
onSuccess = { speech ->
transcriptionJob = lifecycleScope.launch {
speech.transcriptions.collect { result ->
result ?: return@collect
if (result.isFinal) commitTranscript(result.text)
else showPartialTranscript(result.text)
}
}
speech.start().onFailure { error, _ -> showError(error.description) }
},
onFailure = { error, _ -> showError(error.description) },
)Retain the transcription job while Speech is attached. Collect `state`, `locale`, and `errors` when the app needs lifecycle, locale, or failure updates.
`confidence` is between 0 and 1, or `-1` when unavailable. `errorDetails` is diagnostic text and should not be displayed directly to end users.
`speech.stop()` is reusable; removal is terminal. Cancel all collection jobs before `session.removeSpeech()`.
After Speech is listening, inject results with calls such as `glasses.services.speech.simulateTranscription("turn left", isFinal = true, confidence = 0.9f)`. The service can also inject locale changes, partial text, completion, and terminal errors. The live-device source and host `RECORD_AUDIO` permission are only for manual MockDevice testing.
Speech 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,…