Skip to content

Simple Flutter plugin to play ringtone, alarm & notification sounds

License

Notifications You must be signed in to change notification settings

andzejsw/flutter_ringtone_player

 
 

Repository files navigation

flutter_ringtone_player

A simple ringtone, alarm & notification player plugin.

pub package

Usage

Add following import to your code:

import 'package:flutter_ringtone_player/flutter_ringtone_player.dart';

Then simply call this to play system default notification sound:

FlutterRingtonePlayer.playNotification();

There's also this generic method allowing you to specify in detail what kind of ringtone should be played:

FlutterRingtonePlayer.play(
  android: AndroidSounds.notification,
  ios: IosSounds.glass,
  looping: true, // Android only - API >= 28
  volume: 0.1, // Android only - API >= 28
  asAlarm: false, // Android only - all APIs
);

.play*() optional attributes

Attribute Description
bool looping Enables looping of ringtone. Requires FlutterRingtonePlayer.stop(); to stop ringing.
double volume Sets ringtone volume in range 0 to 1.0.
bool asAlarm Allows to ignore device's silent/vibration mode and play given sound anyway.

To stop looped ringtone please use:

FlutterRingtonePlayer.stop();

Above works only on Android, and please note that by default Alarm & Ringtone sounds are looped.

Default sounds

Method Android iOS
playAlarm System#DEFAULT_ALARM_ALERT_URI IosSounds.alarm
playNotification System#DEFAULT_NOTIFICATION_URI IosSounds.triTone
playRingtone System#DEFAULT_RINGTONE_URI IosSounds.electronic

Note on iOS sounds

If you want to use any other sound on iOS you can always specify a valid Sound ID and manually construct [IosSound]:

FlutterRingtonePlayer.play(
  android: AndroidSounds.notification,
  ios: const IosSound(1023),
  looping: true,
  volume: 0.1,
);

About

Simple Flutter plugin to play ringtone, alarm & notification sounds

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 56.1%
  • Java 27.4%
  • Objective-C 12.0%
  • Ruby 4.5%