Struct ruma_events::room::message::AudioMessageEventContent
source · pub struct AudioMessageEventContent {
pub body: String,
pub formatted: Option<FormattedBody>,
pub filename: Option<String>,
pub source: MediaSource,
pub info: Option<Box<AudioInfo>>,
pub audio: Option<UnstableAudioDetailsContentBlock>,
pub voice: Option<UnstableVoiceContentBlock>,
}
Expand description
The payload for an audio message.
Fields§
§body: String
The textual representation of this message.
If the filename
field is not set or has the same value, this is the filename of the
uploaded file. Otherwise, this should be interpreted as a user-written media caption.
formatted: Option<FormattedBody>
Formatted form of the message body
.
This should only be set if the body represents a caption.
filename: Option<String>
The original filename of the uploaded file as deserialized from the event.
It is recommended to use the filename
method to get the filename which automatically
falls back to the body
field when the filename
field is not set.
source: MediaSource
The source of the audio clip.
info: Option<Box<AudioInfo>>
Metadata for the audio clip referred to in source
.
audio: Option<UnstableAudioDetailsContentBlock>
Extensible event fallback data for audio messages, from the first version of MSC3245.
voice: Option<UnstableVoiceContentBlock>
Extensible event fallback data for voice messages, from the first version of MSC3245.
Implementations§
source§impl AudioMessageEventContent
impl AudioMessageEventContent
sourcepub fn new(body: String, source: MediaSource) -> Self
pub fn new(body: String, source: MediaSource) -> Self
Creates a new AudioMessageEventContent
with the given body and source.
sourcepub fn plain(body: String, url: OwnedMxcUri) -> Self
pub fn plain(body: String, url: OwnedMxcUri) -> Self
Creates a new non-encrypted AudioMessageEventContent
with the given body and url.
sourcepub fn encrypted(body: String, file: EncryptedFile) -> Self
pub fn encrypted(body: String, file: EncryptedFile) -> Self
Creates a new encrypted AudioMessageEventContent
with the given body and encrypted
file.
sourcepub fn info(self, info: impl Into<Option<Box<AudioInfo>>>) -> Self
pub fn info(self, info: impl Into<Option<Box<AudioInfo>>>) -> Self
Creates a new AudioMessageEventContent
from self
with the info
field set to the given
value.
Since the field is public, you can also assign to it directly. This method merely acts as a shorthand for that, because it is very common to set this field.
sourcepub fn filename(&self) -> &str
pub fn filename(&self) -> &str
Computes the filename for the audio file as defined by the spec.
This differs from the filename
field as this method falls back to the body
field when
the filename
field is not set.
Returns the caption for the audio as defined by the spec.
In short, this is the body
field if the filename
field exists and has a different value,
otherwise the media file does not have a caption.
Returns the formatted caption for the audio as defined by the spec.
This is the same as caption
, but returns the formatted body instead of the plain body.
Trait Implementations§
source§impl Clone for AudioMessageEventContent
impl Clone for AudioMessageEventContent
source§fn clone(&self) -> AudioMessageEventContent
fn clone(&self) -> AudioMessageEventContent
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AudioMessageEventContent
impl Debug for AudioMessageEventContent
source§impl<'de> Deserialize<'de> for AudioMessageEventContent
impl<'de> Deserialize<'de> for AudioMessageEventContent
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for AudioMessageEventContent
impl RefUnwindSafe for AudioMessageEventContent
impl Send for AudioMessageEventContent
impl Sync for AudioMessageEventContent
impl Unpin for AudioMessageEventContent
impl UnwindSafe for AudioMessageEventContent
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)