MiniProgramMicrophoneResult.fromJson constructor
MiniProgramMicrophoneResult.fromJson(
- Map<String, dynamic> json
)
Implementation
factory MiniProgramMicrophoneResult.fromJson(Map<String, dynamic> json) {
if (json['recordingId'] is! String ||
json['mediaRef'] is! String ||
json['fileName'] is! String ||
json['bytes'] is! int ||
json['durationMs'] is! int ||
json['stopReason'] is! String ||
json['recordedAtUtc'] is! String ||
json['mimeType'] != 'audio/mp4' ||
json['codec'] != 'aac' ||
json['sampleRate'] != 16000 ||
json['channels'] != 1) {
throw const FormatException('Invalid microphone recording metadata.');
}
final timestamp = DateTime.tryParse(json['recordedAtUtc'] as String);
if (timestamp == null) {
throw const FormatException('Invalid microphone recording timestamp.');
}
return MiniProgramMicrophoneResult(
recordingId: json['recordingId'] as String,
mediaRef: json['mediaRef'] as String,
fileName: json['fileName'] as String,
bytes: json['bytes'] as int,
durationMs: json['durationMs'] as int,
stopReason: json['stopReason'] as String,
recordedAtUtc: timestamp,
);
}