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.
61 lines
1.5 KiB
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';
|
|
}
|
|
}
|
|
}
|