You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fluffychat/lib/pangea/enum/audio_encoding_enum.dart

61 lines
1.5 KiB
Dart

AudioEncodingEnum mimeTypeToAudioEncoding(String mimeType) {
switch (mimeType) {
case 'audio/mpeg':
return AudioEncodingEnum.mp3;
case 'audio/mp4':
return AudioEncodingEnum.mp4;
case 'audio/ogg':
return AudioEncodingEnum.oggOpus;
case 'audio/x-flac':
return AudioEncodingEnum.flac;
case 'audio/x-wav':
return AudioEncodingEnum.linear16;
default:
return AudioEncodingEnum.encodingUnspecified;
}
}
enum AudioEncodingEnum {
encodingUnspecified,
linear16,
flac,
mulaw,
amr,
amrWb,
oggOpus,
speexWithHeaderByte,
mp3,
mp4,
webmOpus,
}
// Utility extension to map enum values to their corresponding string value as used by the API
extension AudioEncodingExtension on AudioEncodingEnum {
String get value {
switch (this) {
case AudioEncodingEnum.linear16:
return 'LINEAR16';
case AudioEncodingEnum.flac:
return 'FLAC';
case AudioEncodingEnum.mulaw:
return 'MULAW';
case AudioEncodingEnum.amr:
return 'AMR';
case AudioEncodingEnum.amrWb:
return 'AMR_WB';
case AudioEncodingEnum.oggOpus:
return 'OGG_OPUS';
case AudioEncodingEnum.speexWithHeaderByte:
return 'SPEEX_WITH_HEADER_BYTE';
case AudioEncodingEnum.mp3:
return 'MP3';
case AudioEncodingEnum.mp4:
return 'MP4';
case AudioEncodingEnum.webmOpus:
return 'WEBM_OPUS';
default:
return 'ENCODING_UNSPECIFIED';
}
}
}