play method
Future<Result>
play(
- String url, {
- bool repeatMode = false,
- bool respectAudioFocus = false,
- Duration position = const Duration(milliseconds: 0),
- PlayerMode playerMode = PlayerMode.BACKGROUND,
- AudioNotification? audioNotification,
Plays an audio.
If PlayerMode is set to PlayerMode.FOREGROUND, then you also need to pass:
audioNotification
for providing the foreground notification.
Implementation
Future<Result> play(
String url, {
bool repeatMode = false,
bool respectAudioFocus = false,
Duration position = const Duration(milliseconds: 0),
PlayerMode playerMode = PlayerMode.BACKGROUND,
AudioNotification? audioNotification,
}) async {
if (playerMode == PlayerMode.FOREGROUND && audioNotification == null)
return Result.ERROR;
return ResultMap[await _invokeMethod('play', {
'url': url,
'repeatMode': repeatMode,
'isBackground': playerMode == PlayerMode.BACKGROUND,
'respectAudioFocus': respectAudioFocus,
'position': position.inMilliseconds,
// audio notification object
'smallIconFileName': audioNotification?.smallIconFileName,
'title': audioNotification?.title,
'subTitle': audioNotification?.subTitle,
'largeIconUrl': audioNotification?.largeIconUrl,
'isLocal': audioNotification?.isLocal,
'notificationDefaultActions': NotificationDefaultActionsMap[
audioNotification?.notificationDefaultActions],
'notificationActionCallbackMode': NotificationActionCallbackModeMap[
audioNotification?.notificationActionCallbackMode],
'notificationCustomActions': NotificationCustomActionsMap[
audioNotification?.notificationCustomActions],
}) as int] ??
Result.ERROR;
}