use reqwest::header::HeaderValue;
#[derive(Debug, Clone)]
pub enum Gender {
Male,
Female,
}
impl Into<String> for Gender {
fn into(self) -> String {
(match self {
Self::Male => "Male",
Self::Female => "Female",
})
.into()
}
}
#[derive(Debug, Clone)]
pub enum ResponseType {
Bytes(Vec<u8>),
Text(String),
}
#[derive(Debug, Clone)]
pub enum ResponseExpectation {
Bytes,
Text,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone)]
pub enum MicrosoftOutputFormat {
Amr_Wb_16000hz,
Audio_16khz_16bit_32kbps_Mono_Opus,
Audio_16khz_32kbitrate_Mono_Mp3,
Audio_16khz_64kbitrate_Mono_Mp3,
Audio_16khz_128kbitrate_Mono_Mp3,
Audio_24khz_16bit_24kbps_Mono_Opus,
Audio_24khz_16bit_48kbps_Mono_Opus,
Audio_24khz_48kbitrate_Mono_Mp3,
Audio_24khz_96kbitrate_Mono_Mp3,
Audio_24khz_160kbitrate_Mono_Mp3,
Audio_48khz_96kbitrate_Mono_Mp3,
Audio_48khz_192kbitrate_Mono_Mp3,
Ogg_16khz_16bit_Mono_Opus,
Ogg_24khz_16bit_Mono_Opus,
Ogg_48khz_16bit_Mono_Opus,
Raw_8khz_8bit_Mono_Alaw,
Raw_8khz_8bit_Mono_Mulaw,
Raw_8khz_16bit_Mono_Pcm,
Raw_16khz_16bit_Mono_Pcm,
Raw_16khz_16bit_Mono_Truesilk,
Raw_22050hz_16bit_Mono_Pcm,
Raw_24khz_16bit_Mono_Pcm,
Raw_24khz_16bit_Mono_Truesilk,
Raw_44100hz_16bit_Mono_Pcm,
Raw_48khz_16bit_Mono_Pcm,
Webm_16khz_16bit_Mono_Opus,
Webm_24khz_16bit_24kbps_Mono_Opus,
Webm_24khz_16bit_Mono_Opus,
Riff_8khz_8bit_Mono_Alaw,
Riff_8khz_8bit_Mono_Mulaw,
Riff_8khz_16bit_Mono_Pcm,
Riff_22050hz_16bit_Mono_Pcm,
Riff_24khz_16bit_Mono_Pcm,
Riff_44100hz_16bit_Mono_Pcm,
Riff_48khz_16bit_Mono_Pcm,
}
impl Into<HeaderValue> for MicrosoftOutputFormat {
fn into(self) -> HeaderValue {
let s: String = self.into();
s.as_str().parse().unwrap()
}
}
impl Into<String> for MicrosoftOutputFormat {
fn into(self) -> String {
(match self {
Self::Amr_Wb_16000hz => "amr-wb-16000hz",
Self::Audio_16khz_16bit_32kbps_Mono_Opus => "audio-16khz-16bit-32kbps-mono-opus",
Self::Audio_16khz_32kbitrate_Mono_Mp3 => "audio-16khz-32kbitrate-mono-mp3",
Self::Audio_16khz_64kbitrate_Mono_Mp3 => "audio-16khz-64kbitrate-mono-mp3",
Self::Audio_16khz_128kbitrate_Mono_Mp3 => "audio-16khz-128kbitrate-mono-mp3",
Self::Audio_24khz_16bit_24kbps_Mono_Opus => "audio-24khz-16bit-24kbps-mono-opus",
Self::Audio_24khz_16bit_48kbps_Mono_Opus => "audio-24khz-16bit-48kbps-mono-opus",
Self::Audio_24khz_48kbitrate_Mono_Mp3 => "audio-24khz-48kbitrate-mono-mp3",
Self::Audio_24khz_96kbitrate_Mono_Mp3 => "audio-24khz-96kbitrate-mono-mp3",
Self::Audio_24khz_160kbitrate_Mono_Mp3 => "audio-24khz-160kbitrate-mono-mp3",
Self::Audio_48khz_96kbitrate_Mono_Mp3 => "audio-48khz-96kbitrate-mono-mp3",
Self::Audio_48khz_192kbitrate_Mono_Mp3 => "audio-48khz-192kbitrate-mono-mp3",
Self::Ogg_16khz_16bit_Mono_Opus => "ogg-16khz-16bit-mono-opus",
Self::Ogg_24khz_16bit_Mono_Opus => "ogg-24khz-16bit-mono-opus",
Self::Ogg_48khz_16bit_Mono_Opus => "ogg-48khz-16bit-mono-opus",
Self::Raw_8khz_8bit_Mono_Alaw => "raw-8khz-8bit-mono-alaw",
Self::Raw_8khz_8bit_Mono_Mulaw => "raw-8khz-8bit-mono-mulaw",
Self::Raw_8khz_16bit_Mono_Pcm => "raw-8khz-16bit-mono-pcm",
Self::Raw_16khz_16bit_Mono_Pcm => "raw-16khz-16bit-mono-pcm",
Self::Raw_16khz_16bit_Mono_Truesilk => "raw-16khz-16bit-mono-truesilk",
Self::Raw_22050hz_16bit_Mono_Pcm => "raw-22050hz-16bit-mono-pcm",
Self::Raw_24khz_16bit_Mono_Pcm => "raw-24khz-16bit-mono-pcm",
Self::Raw_24khz_16bit_Mono_Truesilk => "raw-24khz-16bit-mono-truesilk",
Self::Raw_44100hz_16bit_Mono_Pcm => "raw-44100hz-16bit-mono-pcm",
Self::Raw_48khz_16bit_Mono_Pcm => "raw-48khz-16bit-mono-pcm",
Self::Webm_16khz_16bit_Mono_Opus => "webm-16khz-16bit-mono-opus",
Self::Webm_24khz_16bit_24kbps_Mono_Opus => "webm-24khz-16bit-24kbps-mono-opus",
Self::Webm_24khz_16bit_Mono_Opus => "webm-24khz-16bit-mono-opus",
Self::Riff_8khz_8bit_Mono_Alaw => "riff-8khz-8bit-mono-alaw",
Self::Riff_8khz_8bit_Mono_Mulaw => "riff-8khz-8bit-mono-mulaw",
Self::Riff_8khz_16bit_Mono_Pcm => "riff-8khz-16bit-mono-pcm",
Self::Riff_22050hz_16bit_Mono_Pcm => "riff-22050hz-16bit-mono-pcm",
Self::Riff_24khz_16bit_Mono_Pcm => "riff-24khz-16bit-mono-pcm",
Self::Riff_44100hz_16bit_Mono_Pcm => "riff-44100hz-16bit-mono-pcm",
Self::Riff_48khz_16bit_Mono_Pcm => "riff-48khz-16bit-mono-pcm",
})
.into()
}
}