pub enum PlayerRequest {
AddSoundFromFile {
id: u32,
file: ClientEnd<FileMarker>,
responder: PlayerAddSoundFromFileResponder,
},
AddSoundBuffer {
id: u32,
buffer: Buffer,
stream_type: AudioStreamType,
control_handle: PlayerControlHandle,
},
RemoveSound {
id: u32,
control_handle: PlayerControlHandle,
},
PlaySound {
id: u32,
usage: AudioRenderUsage,
responder: PlayerPlaySoundResponder,
},
StopPlayingSound {
id: u32,
control_handle: PlayerControlHandle,
},
}
Expand description
Allows clients to play fire-and-forget sounds.
Variants§
AddSoundFromFile
Adds a sound to the collection maintained for the client, reading the sound from a file.
If id
identifies an existing sound in the collection, the service will close the
connection. Returns the duration of the sound or an error status returned from an I/O
operation.
Currently, only PCM WAV files and Ogg/Opus files are supported.
AddSoundBuffer
Adds a sound, in the form of a buffer containing raw PCM samples, to the collection maintained for the client. The service will retain a handle to the buffer’s VMO until the sound is removed and is no longer playing or until the connection is closed.
If id
identifies an existing sound in the collection, the service will close the
connection.
RemoveSound
Removes a sound from the collection maintained for the client. A sound can be removed even
if a PlaySound
method is pending for that sound.
If id
doesn’t identify an existing sound in the collection, the service will do nothing.
This is tolerated so that clients don’t have to wait for the response from
AddSoundFromFile
before playing and removing the sound.
Removing an unneeded sound frees the resources associated with that sound, principally the VMO required to store the uncompressed sound.
PlaySound
Plays the existing sound identified by id
using a renderer with usage usage
. The
sound is played as soon as possible. The reply is sent when the sound is finished playing.
If id
doesn’t identify an existing sound in the collection, the method returns
PlaySoundError.NO_SUCH_SOUND
. The most recent PlaySound
call for a given valid id can
be stopped using StopPlayingSound
, in which case, this method returns
PlaySoundError.STOPPED
.
StopPlayingSound
Stops playback of the sound identified by id
invoked by the the most recent call to
PlaySound
for that sound. If id
doesn’t identify an existing sound in the collection
or if the sound is not currently playing, this method does nothing. If more than one
PlaySound
method is currently pending for that sound, only the most recent is stopped.
Implementations§
Source§impl PlayerRequest
impl PlayerRequest
pub fn into_add_sound_from_file( self, ) -> Option<(u32, ClientEnd<FileMarker>, PlayerAddSoundFromFileResponder)>
pub fn into_add_sound_buffer( self, ) -> Option<(u32, Buffer, AudioStreamType, PlayerControlHandle)>
pub fn into_remove_sound(self) -> Option<(u32, PlayerControlHandle)>
pub fn into_play_sound( self, ) -> Option<(u32, AudioRenderUsage, PlayerPlaySoundResponder)>
pub fn into_stop_playing_sound(self) -> Option<(u32, PlayerControlHandle)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL