play static method

Future play({
  1. required String channelId,
  2. required List<String> media,
  3. String? lang,
  4. num offsetms = 0,
  5. num skipms = 3000,
  6. String? playbackId,
})

POST /channels/{channelId}/play

Start playback of media. The media URI may be any of a number of URIs. sound:, recording:, number:, digits:, characters:, and tone: URIs are supported. This operation creates a playback resource that can be used to control the playback of media (pause, rewind, fast forward, etc.)

'tone:' playback URI added in Asterisk 12.3

@param {object} params @param {string} params.channelId the id of the channel to play the media to. @param {string|Array.

Implementation

static Future<dynamic> play({
  required String channelId,
  required List<String> media,
  String? lang,
  num offsetms = 0,
  num skipms = 3000,
  String? playbackId,
}) async {
  var uri = Uri(
      scheme: "http",
      userInfo: "",
      host: "10.44.0.55",
      port: 8088,
      path: "ari/channels/$channelId/play",
      //Iterable<String>? pathSegments,
      query: "",
      queryParameters: {
        'api_key': api_key,
        'media': media.join(","),
        'lang': "en",
        'offsetms': '0',
        'skipms': '3000',
        'playbackId': playbackId
      }
      //String? fragment
      );

  //var uri = Uri(baseUrl);
  HttpClientRequest request = await client.postUrl(uri);
  HttpClientResponse response = await request.close();
  //print(response);
  final String stringData = await response.transform(utf8.decoder).join();
  print(response.statusCode);
  //print(stringData);
  //return response;
  return (statusCode: response.statusCode, resp: stringData);
}