{"id":32292575,"url":"https://github.com/cruvdev/ringtone_player","last_synced_at":"2025-10-23T03:22:15.015Z","repository":{"id":56838242,"uuid":"336837069","full_name":"cruvdev/ringtone_player","owner":"cruvdev","description":"A player for system default ringtone, alarm and notification.","archived":false,"fork":false,"pushed_at":"2021-04-19T07:44:29.000Z","size":84,"stargazers_count":1,"open_issues_count":3,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-08-20T23:00:55.703Z","etag":null,"topics":["android","dart","flutter","flutter-example","flutter-plugin","ios","plugin"],"latest_commit_sha":null,"homepage":"http://cruv.dev","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cruvdev.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":"2021-02-07T16:45:40.000Z","updated_at":"2023-06-29T18:01:09.000Z","dependencies_parsed_at":"2022-09-12T11:51:32.868Z","dependency_job_id":null,"html_url":"https://github.com/cruvdev/ringtone_player","commit_stats":null,"previous_names":[],"tags_count":5,"template":null,"template_full_name":null,"purl":"pkg:github/cruvdev/ringtone_player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cruvdev%2Fringtone_player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cruvdev%2Fringtone_player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cruvdev%2Fringtone_player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cruvdev%2Fringtone_player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cruvdev","download_url":"https://codeload.github.com/cruvdev/ringtone_player/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cruvdev%2Fringtone_player/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280552866,"owners_count":26349828,"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","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","dart","flutter","flutter-example","flutter-plugin","ios","plugin"],"created_at":"2025-10-23T03:22:10.382Z","updated_at":"2025-10-23T03:22:15.006Z","avatar_url":"https://github.com/cruvdev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ringtone_player\n\nA player for system default ringtone, alarm and notification.\n\n[![Pub Version](https://img.shields.io/pub/v/ringtone_player)](https://pub.dartlang.org/packages/ringtone_player)\n\n## Installation\n\nAdd following dependencies to your pubspec.yaml:\n\n```yaml\ndependencies:\n  ringtone_player: ^0.1.1 #latest version\n```\n\n## Usage\n\nAdd following import to your code:\n\n```dart\nimport 'package:ringtone_player/ringtone_player.dart';\n```\n\nThen simply call this to play system default notification sound:\n\n```dart\nRingtonePlayer.ringtone();\n```\n\nThere's also this generic method allowing you to specify in detail what kind of ringtone should be played:\n\n```dart\nRingtonePlayer.play(\n  alarmMeta: AlarmMeta(\n    'dev.cruv.ringtone_player_example.MainActivity',\n    'ic_alarm_notification',\n    contentTitle: 'Alarm',\n    contentText: 'Alarm is active',\n    subText: 'Subtext',\n  ),\n  android: Android.ringtone,\n  ios: Ios.electronic,\n  loop: true, // Android only - API \u003e= 28\n  volume: 1.0, // Android only - API \u003e= 28\n  alarm: true, // Android only - all APIs\n);\n\n```\n\n### .play() optional attributes\n\n| Attribute       |  Description                                                                 |\n| --------------  | ---------------------------------------------------------------------------- |\n| `bool` loop     | Enables loop of ringtone. If Requires                                        |\n| `double` volume | Sets ringtone volume in range 0 to 1.0.                                      |\n| `bool` alarm    | Allows to ignore device's silent/vibration mode and play given sound anyway. |\n\n\nTo stop looped ringtone please use:\n\n```dart\nRingtonePlayer.stop();\n```\n\nAbove works only on Android, and please note that by default Alarm \u0026 Ringtone sounds are looped.\n\n## Default sounds\n\n| Method           | Android | iOS |\n| ---------------- | ------- | --- |\n| alarm            | [System#DEFAULT_ALARM_ALERT_URI](https://developer.android.com/reference/android/provider/Settings.System.html#DEFAULT_ALARM_ALERT_URI) | Ios.alarm |\n| notification     | [System#DEFAULT_NOTIFICATION_URI](https://developer.android.com/reference/android/provider/Settings.System.html#DEFAULT_NOTIFICATION_URI) | Ios.triTone |\n| ringtone         | [System#DEFAULT_RINGTONE_URI](https://developer.android.com/reference/android/provider/Settings.System.html#DEFAULT_RINGTONE_URI) | Ios.electronic |\n\n## Note for AndroidManifest.xml\n\n```xml\n\u003cmanifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:tools=\"http://schemas.android.com/tools\"\n    package=\"dev.cruv.ringtone_player_example\"\u003e\n\n    \u003c!-- Must add this line --\u003e\n    \u003cuses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" /\u003e\n    \u003c!-- --\u003e\n\n    \u003capplication\n        android:icon=\"@mipmap/ic_launcher\"\n        android:label=\"Ringtone_player_example\"\n        tools:ignore=\"AllowBackup\"\u003e\n\n        \u003c!-- Must add this line --\u003e\n        \u003cservice android:name=\"dev.cruv.ringtone_player.PlayerService\" /\u003e\n        \u003c!-- --\u003e\n\n        \u003cactivity\u003e...\u003c/activity\u003e\n        ...\n    \u003c/application\u003e\n\u003c/manifest\u003e\n```\n\n## Note on iOS sound\n\nIf you want to use any other sound on iOS you can always specify a valid Sound ID and manually construct [IosSound]:\n\n```dart\nRingtonePlayer.play(\n  android: Android.notification,\n  ios: const IosSound(1023),\n  looping: true,\n  volume: 0.1,\n);\n```\n\n## License\n\n[MIT License](https://github.com/cruvdev/ringtone_player/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcruvdev%2Fringtone_player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcruvdev%2Fringtone_player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcruvdev%2Fringtone_player/lists"}