This Microphone API provides the ability to interact with the microphone and record Audio
| iOS | Android | Web (Preview) | |
|---|---|---|---|
| Availability | ✔️ | ✔️ | ✔️ |
| Encoding | kAudioFormatMPEG4AAC (audio/aac) | MPEG_4 / AAC (audio/aac) | audio/webm or audio/mp4 or audio/ogg or audio/wav |
| Extension | .m4a | .m4a | .webm or .mp4 or .ogg or .wav |
npm install @mozartec/capacitor-microphone
npx cap sync- 🌐 Live Demo - Try the plugin in your browser
- 📁 Demo source code
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<{ status: string; }>Starts recoding session if no session is in progress
Returns: Promise<{ status: string; }>
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: ".m4a" for (iOS and Android) and ".webm" | ".mp4" | ".ogg" | ".wav" for Web based on compatibility | 0.0.3 |
mimeType |
string |
file encoding: "audio/aac" for (iOS and Android) and "audio/webm | "audio/mp4" | "audio/ogg" | "audio/wav" for Web based on compatibility | 0.0.3 |
PermissionState | 'limited'
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'
Thanks to all the people who have contributed to this project! 🙏
Made with contrib.rocks