- Interface to the microphone, receiver, loudspeaker and headset.
- Analog-to-Digital Conversion for the microphone.
- Digital-to-Analog Conversion for the speaker.
- Hardware Audio Routing to select audio user interface (headset, speakerphone…)
- Io-audio enables voice processing (AEC, NR, Gain Control) and routes audio to voice path
- Volume control
These features are available through the Audio Library APIs as part of the BlackBerry 10 Native SDK. The Audio Library is based on the QNX® Sound Architecture API functions and has a lot of similarities to the Advanced Linux® Sound Architecture (ALSA) APIs. Note that these are not directly compatible.
Enabling Echo Cancellation:
One important API that both of the samples found in the GitHub® repository use is enabling acoustic echo cancellation (“voice "), noise supression as well as lower latnecy when opening a connection to an audio interface specified by name of the PCM device to open.
Access to capture (mic) and playback (spk) is made available by opening a connection to the “voice” PCM audio interface.