/capacitor-microphone

This Microphone API provides the ability to interact with the microphone and record Audio

Primary LanguageTypeScriptMIT LicenseMIT

Mozartec Capacitor Microphone

@mozartec/capacitor-microphone

This Microphone API provides the ability to interact with the microphone and record Audio

Maintenance License
Dependency Status devDependency Status
npm version NPM Downloads

Platform support

iOS Android Web
Availability ✔️ ✔️
Encoding kAudioFormatMPEG4AAC MPEG_4 / AAC
Extension .m4a .m4a

Installation

Install

npm install @mozartec/capacitor-microphone
npx cap sync

Demo

Demo code

iOS

iOS requires the following usage description to be added and filled out for your app in Info.plist:

  • NSMicrophoneUsageDescription (Privacy - Microphone Usage Description)

Read about Configuring Info.plist in the iOS Guide for more information on setting iOS permissions in Xcode.

Android

This API requires the following permission to be added to your AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

The RECORD_AUDIO permission is for recording audio.

Read about Setting Permissions in the Android Guide for more information on setting Android permissions.

API

checkPermissions()

checkPermissions() => Promise<PermissionStatus>

Checks microphone permission

Returns: Promise<PermissionStatus>

Since: 0.0.3


requestPermissions()

requestPermissions() => Promise<PermissionStatus>

Requests microphone permission

Returns: Promise<PermissionStatus>

Since: 0.0.3


startRecording()

startRecording() => Promise<void>

Starts recoding session if no session is in progress

Since: 0.0.3


stopRecording()

stopRecording() => Promise<AudioRecording>

Stops recoding session if one is in progress

Returns: Promise<AudioRecording>

Since: 0.0.3


Interfaces

PermissionStatus

Prop Type
microphone MicrophonePermissionState

AudioRecording

Prop Type Description Since
base64String string The base64 encoded string representation of the audio file. 0.0.3
dataUrl string The url starting with 'data:audio/aac;base64,' and the base64 encoded string representation of the audio file. 0.0.3
path string platform-specific file URL that can be read later using the Filesystem API. 0.0.3
webPath string webPath returns a path that can be used to set the src attribute of an audio element can be useful for testing. 0.0.3
duration number recoding duration in milliseconds 0.0.3
format string file extension (only .m4a supported on this version) 0.0.3
mimeType string file encoding "audio/aac" (kAudioFormatMPEG4AAC for iOS) (MPEG_4 / AAC for Android) 0.0.3

Type Aliases

MicrophonePermissionState

PermissionState | 'limited'

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'