This Microphone API provides the ability to interact with the microphone and record Audio
| iOS | Android | Web | |
|---|---|---|---|
| Availability | ✔️ | ✔️ | ❌ |
| Encoding | kAudioFormatMPEG4AAC | MPEG_4 / AAC | ❌ |
| Extension | .m4a | .m4a | ❌ |
npm install @mozartec/capacitor-microphone
npx cap synciOS 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.
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.
checkPermissions() => Promise<PermissionStatus>Checks microphone permission
Returns: Promise<PermissionStatus>
requestPermissions() => Promise<PermissionStatus>Requests microphone permission
Returns: Promise<PermissionStatus>
startRecording() => Promise<void>Starts recoding session if no session is in progress
stopRecording() => Promise<AudioRecording>Stops recoding session if one is in progress
Returns: Promise<AudioRecording>
| Prop | Type |
|---|---|
microphone |
MicrophonePermissionState |
| Prop | Type | Description |
|---|---|---|
base64String |
string |
The base64 encoded string representation of the audio file. |
dataUrl |
string |
The url starting with 'data:audio/aac;base64,' and the base64 encoded string representation of the audio file. |
path |
string |
platform-specific file URL that can be read later using the Filesystem API. |
webPath |
string |
webPath returns a path that can be used to set the src attribute of an audio element can be useful for testing. |
duration |
number |
recoding duration in milliseconds |
format |
string |
file extension (only .m4a supported on this version) |
mimeType |
string |
file encoding "audio/aac" (kAudioFormatMPEG4AAC for iOS) (MPEG_4 / AAC for Android) |
PermissionState | 'limited'
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'