{"id":16170916,"url":"https://github.com/tougee/audiorecorderview","last_synced_at":"2025-03-19T00:30:36.547Z","repository":{"id":47589613,"uuid":"133962690","full_name":"Tougee/AudioRecorderView","owner":"Tougee","description":"Simple Audio Recorder View with 'swap-to-cancel' Like Telegram","archived":false,"fork":false,"pushed_at":"2021-06-10T02:49:14.000Z","size":533,"stargazers_count":61,"open_issues_count":3,"forks_count":13,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T01:04:08.102Z","etag":null,"topics":["android","audio","kotlin","recorderview"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tougee.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-18T14:08:23.000Z","updated_at":"2025-01-21T06:08:06.000Z","dependencies_parsed_at":"2022-08-31T01:02:12.630Z","dependency_job_id":null,"html_url":"https://github.com/Tougee/AudioRecorderView","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tougee%2FAudioRecorderView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tougee%2FAudioRecorderView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tougee%2FAudioRecorderView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tougee%2FAudioRecorderView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tougee","download_url":"https://codeload.github.com/Tougee/AudioRecorderView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244331555,"owners_count":20435957,"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","kotlin","recorderview"],"created_at":"2024-10-10T03:19:57.248Z","updated_at":"2025-03-19T00:30:35.862Z","avatar_url":"https://github.com/Tougee.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AudioRecorderView\n\nSimple Audio Recorder View with 'swap-to-cancel' Like Telegram\n\n\u003cimg src=\"art/demo.gif\"\u003e\n\n## Usage\n```xml\n\n    // AndroidManifest.xml\n    \u003cuses-permission android:name=\"android.permission.RECORD_AUDIO\" /\u003e\n\n    // layout include AudioRecordView\n    \u003ccom.tougee.recorderview.AudioRecordView\n        android:id=\"@+id/record_view\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        app:mic_icon=\"@mipmap/ic_custom_mic\"\n        app:mic_active_icon=\"@drawable/custom_mic_active\"\n        app:mic_hint_enable=\"false\"\n        app:mic_hint_color=\"@color/custom_hint_color\"\n        app:mic_hint_text=\"@string/custom_hint_text\"\n        app:mic_hint_bg=\"@drawable/custom_hint_bg\"\n        app:blink_color=\"@color/custom_blink_color\"\n        app:circle_color=\"@color/custom_circle_color\"\n        app:cancel_icon_color=\"@color/custom_cancel_icon_color\"\n        app:slide_cancel_text=\"@string/custom_slide_cancel_text\"\n        app:cancel_text=\"@string/custom_cancel_text\"\n        app:vibration_enable=\"false\"\n        android:layout_alignParentBottom=\"true\"/\u003e\n\n```\n``` kotlin\n\n        // activity implemented AudioRecordView.Callback\n\n        override fun onCreate(savedInstanceState: Bundle?) {\n            super.onCreate(savedInstanceState)\n            setContentView(R.layout.activity_main)\n\n            record_view.apply {\n                activity = this@MainActivity\n                callback = this@MainActivity\n\n                micIcon = R.drawable.ic_chevron_left_gray_24dp\n                micActiveIcon = R.drawable.ic_play_arrow_black_24dp\n                micHintEnable = false\n                micHintText = \"Custom hint text\"\n                micHintColor = ContextCompat.getColor(this@MainActivity, android.R.color.holo_red_light)\n                micHintBg = R.drawable.ic_launcher_background\n                blinkColor = ContextCompat.getColor(this@MainActivity, R.color.color_blue)\n                circleColor = ContextCompat.getColor(this@MainActivity, R.color.color_blink)\n                cancelIconColor = ContextCompat.getColor(this@MainActivity, R.color.color_blue)\n                slideCancelText = \"Custom Slide to cancel\"\n                cancelText = \"Custom Cancel\"\n                vibrationEnable = false\n            }\n\n            record_view.setTimeoutSeconds(20)\n        }\n\n        override fun onRecordStart() {}\n\n        override fun isReady() = true\n\n        override fun onRecordEnd() {}\n\n        override fun onRecordCancel() {}\n\n```\n\n## Setup\n### Android Studio / Gradle\nAdd the following dependency in your root build.gradle at the end of repositories:\n```Gradle\nallprojects {\n    repositories {\n        //...\n        maven { url = 'https://jitpack.io' }\n    }\n}\n```\nAdd the dependency:\n```Gradle\ndependencies {\n    implementation 'com.github.tougee:audiorecorderview:1.0.4'\n}\n```\n\n## License details\n\n```\nCopyright 2018 Touge\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n\thttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftougee%2Faudiorecorderview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftougee%2Faudiorecorderview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftougee%2Faudiorecorderview/lists"}