sendVoiceMessage method

Future<JMVoiceMessage> sendVoiceMessage(
  1. {required dynamic type,
  2. required String? path,
  3. JMMessageSendOptions? sendOption,
  4. Map? extras}
)

Implementation

Future<JMVoiceMessage> sendVoiceMessage({
  required dynamic type,

  /// (JMSingle | JMGroup | JMChatRoom)
  required String? path,
  JMMessageSendOptions? sendOption,
  Map<dynamic, dynamic>? extras,
}) async {
  Map param = type.toJson();

  Map optionMap = {};
  if (sendOption != null) {
    optionMap = {
      'messageSendingOptions': sendOption.toJson()
        ..removeWhere((key, value) => value == null)
    };
  }

  if (extras != null) {
    param..addAll({'extras': extras});
  }

  param..addAll(optionMap)..addAll({'path': path});

  Map resMap = await _channel.invokeMethod(
      'sendVoiceMessage', param..removeWhere((key, value) => value == null));
  var res = JMNormalMessage.generateMessageFromJson(resMap);
  return res;
}