AVS Device SDK Features

This page provides extra information that you might need to know to implement certain AVS features with the Alexa Voice Service (AVS) Device SDK. For code samples and full implementation details, see the AVS SDK on GitHub or the AVS SDK API references.

Note

This page isn't an exhaustive list of all SDK features available.

Captions

The Alexa Voice Service (AVS) Device SDK 1.17 adds support for captions for Alexa's voice.

In the SDK, it's disabled by default. You enable through the CMake build option CAPTIONS=ON. You must also install a new dependency – the libwebvtt parsing library. Webvtt is a C/C++ library for interpreting and authoring conformant WebVTT content. WebVTT is a caption and subtitle format designed for use with HTML5 audio and video elements.

The Captions implementation is only designed to work with the en-US locale. If you want to support another locale, you must modify the line break logic in the CaptionManager::onParsed() method and use a locale-safe method for determining the break points between words. For example, you can use ICU's BreakIterator to handle the task. This implementation is determined by you.

NOTE: This implementation relies on the MediaPlayerInterface::SourceId value being unique across all instances.