pub struct PlayerSynchronousProxy { /* private fields */ }
Implementations§
Source§impl PlayerSynchronousProxy
impl PlayerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<PlayerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<PlayerEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn add_sound_from_file(
&self,
id: u32,
file: ClientEnd<FileMarker>,
___deadline: MonotonicInstant,
) -> Result<PlayerAddSoundFromFileResult, Error>
pub fn add_sound_from_file( &self, id: u32, file: ClientEnd<FileMarker>, ___deadline: MonotonicInstant, ) -> Result<PlayerAddSoundFromFileResult, Error>
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.
Sourcepub fn add_sound_buffer(
&self,
id: u32,
buffer: Buffer,
stream_type: &AudioStreamType,
) -> Result<(), Error>
pub fn add_sound_buffer( &self, id: u32, buffer: Buffer, stream_type: &AudioStreamType, ) -> Result<(), Error>
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.
Sourcepub fn remove_sound(&self, id: u32) -> Result<(), Error>
pub fn remove_sound(&self, id: u32) -> Result<(), Error>
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.
Sourcepub fn play_sound(
&self,
id: u32,
usage: AudioRenderUsage,
___deadline: MonotonicInstant,
) -> Result<PlayerPlaySoundResult, Error>
pub fn play_sound( &self, id: u32, usage: AudioRenderUsage, ___deadline: MonotonicInstant, ) -> Result<PlayerPlaySoundResult, Error>
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
.
Sourcepub fn stop_playing_sound(&self, id: u32) -> Result<(), Error>
pub fn stop_playing_sound(&self, id: u32) -> Result<(), Error>
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.
Trait Implementations§
Source§impl Debug for PlayerSynchronousProxy
impl Debug for PlayerSynchronousProxy
Source§impl SynchronousProxy for PlayerSynchronousProxy
impl SynchronousProxy for PlayerSynchronousProxy
Source§type Proxy = PlayerProxy
type Proxy = PlayerProxy
Source§type Protocol = PlayerMarker
type Protocol = PlayerMarker
Proxy
controls.