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 sync
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.
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>
Since: 0.0.3
requestPermissions() => Promise<PermissionStatus>
Requests microphone permission
Returns: Promise<PermissionStatus>
Since: 0.0.3
startRecording() => Promise<void>
Starts recoding session if no session is in progress
Since: 0.0.3
stopRecording() => Promise<AudioRecording>
Stops recoding session if one is in progress
Returns: Promise<AudioRecording>
Since: 0.0.3
Prop | Type |
---|---|
microphone |
MicrophonePermissionState |
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 |
PermissionState | 'limited'
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'