{"id":14008428,"url":"https://github.com/ZaraclaJ/audio_recorder","last_synced_at":"2025-07-24T03:32:49.559Z","repository":{"id":29260010,"uuid":"120760965","full_name":"ZaraclaJ/audio_recorder","owner":"ZaraclaJ","description":null,"archived":false,"fork":false,"pushed_at":"2022-04-25T05:38:18.000Z","size":17165,"stargazers_count":180,"open_issues_count":36,"forks_count":128,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-27T01:33:42.655Z","etag":null,"topics":["android","audio-recorder","awesome","flutter","ios","mobile","plugin"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZaraclaJ.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-08T12:50:52.000Z","updated_at":"2024-04-24T07:50:52.000Z","dependencies_parsed_at":"2022-08-07T14:15:49.322Z","dependency_job_id":null,"html_url":"https://github.com/ZaraclaJ/audio_recorder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaraclaJ%2Faudio_recorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaraclaJ%2Faudio_recorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaraclaJ%2Faudio_recorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaraclaJ%2Faudio_recorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZaraclaJ","download_url":"https://codeload.github.com/ZaraclaJ/audio_recorder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227410647,"owners_count":17774780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","audio-recorder","awesome","flutter","ios","mobile","plugin"],"created_at":"2024-08-10T11:01:40.047Z","updated_at":"2024-11-30T19:31:07.041Z","avatar_url":"https://github.com/ZaraclaJ.png","language":"Java","funding_links":[],"categories":["组件","Java","Media [🔝](#readme)","Components"],"sub_categories":["媒体","Media"],"readme":"# Audio recorder\n\n[![pub package](https://img.shields.io/pub/v/audio_recorder.svg)](https://pub.dartlang.org/packages/audio_recorder)\n[![Build Status](https://travis-ci.org/mmcc007/audio_recorder.svg?branch=master)](https://travis-ci.org/mmcc007/audio_recorder)\n[![Coverage Status](https://coveralls.io/repos/github/mmcc007/audio_recorder/badge.svg?branch=master)](https://coveralls.io/github/mmcc007/audio_recorder?branch=master)\n\nRecord audio and store it locally\n\n## Usage\nTo use this plugin, add `audio_recorder` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/).\n\n### Android\nMake sure you add the following permissions to your Android Manifest\n```\n\u003cuses-permission android:name=\"android.permission.RECORD_AUDIO\" /\u003e\n\u003cuses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" /\u003e\n```\n\n\n### iOS\nMake sure you add the following key to Info.plist for iOS\n```\n\u003ckey\u003eNSMicrophoneUsageDescription\u003c/key\u003e\n\u003cstring\u003eRecord audio for playback\u003c/string\u003e\n```\n\n\n## Example\n``` dart\n// Import package\nimport 'package:audio_recorder/audio_recorder.dart';\n\n// Check permissions before starting\nbool hasPermissions = await AudioRecorder.hasPermissions;\n\n// Get the state of the recorder\nbool isRecording = await AudioRecorder.isRecording;\n\n// Start recording\nawait AudioRecorder.start(path: _controller.text, audioOutputFormat: AudioOutputFormat.AAC);\n\n// Stop recording\nRecording recording = await AudioRecorder.stop();\nprint(\"Path : ${recording.path},  Format : ${recording.audioOutputFormat},  Duration : ${recording.duration},  Extension : ${recording.extension},\");\n\n```\n\n### Encoding format\nFor now, the plugin only use the AAC compression to encode audio.\nYou can specify the extension of the output audio file in the file path that you give to the start method.\nThe recognized extensions are :\n- .m4a\n- .mp4\n- .aac\n\nIf the file path does not finish with these extensions, the \".m4a\" extension is added by default.\n\n### Exceptions\nThe start method raise an exception if :\n- A file already exists at the given file path\n- The parent directory of the file path does not exist\n\n## Getting Started\n\nFor help getting started with Flutter, view our online\n[documentation](http://flutter.io/).\n\nFor help on editing plugin code, view the [documentation](https://flutter.io/platform-plugins/#edit-code).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZaraclaJ%2Faudio_recorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZaraclaJ%2Faudio_recorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZaraclaJ%2Faudio_recorder/lists"}