pub struct AudioCoreSynchronousProxy { /* private fields */ }
Implementations§
Source§impl AudioCoreSynchronousProxy
impl AudioCoreSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<AudioCoreEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<AudioCoreEvent, 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 create_audio_renderer(
&self,
audio_out_request: ServerEnd<AudioRendererMarker>,
) -> Result<(), Error>
pub fn create_audio_renderer( &self, audio_out_request: ServerEnd<AudioRendererMarker>, ) -> Result<(), Error>
Creates an AudioRenderer which outputs audio to the default device.
Sourcepub fn create_audio_capturer_with_configuration(
&self,
stream_type: &AudioStreamType,
configuration: &AudioCapturerConfiguration,
audio_capturer_request: ServerEnd<AudioCapturerMarker>,
) -> Result<(), Error>
pub fn create_audio_capturer_with_configuration( &self, stream_type: &AudioStreamType, configuration: &AudioCapturerConfiguration, audio_capturer_request: ServerEnd<AudioCapturerMarker>, ) -> Result<(), Error>
Creates an AudioCapturer according to the given requirements.
pcm_stream_type
sets the stream type of the stream to be delivered.
It causes the source material to be reformatted/resampled if needed
in order to produce the requested stream type.
usage
is used by Fuchsia to make decisions about user experience.
See AudioCaptureUsage
for more details.
configuration
must be initialized to a variant, or no capturer
can be created.
Sourcepub fn create_audio_capturer(
&self,
loopback: bool,
audio_in_request: ServerEnd<AudioCapturerMarker>,
) -> Result<(), Error>
pub fn create_audio_capturer( &self, loopback: bool, audio_in_request: ServerEnd<AudioCapturerMarker>, ) -> Result<(), Error>
Creates an AudioCapturer which either captures from the current default audio input device, or loops-back from the current default audio output device based on value passed for the loopback flag.
pub fn enable_device_settings(&self, enabled: bool) -> Result<(), Error>
Sourcepub fn set_render_usage_gain(
&self,
usage: AudioRenderUsage,
gain_db: f32,
) -> Result<(), Error>
pub fn set_render_usage_gain( &self, usage: AudioRenderUsage, gain_db: f32, ) -> Result<(), Error>
Sets the Usage gain applied to Renderers. By default, the gain for all render usages is set to Unity (0 db).
Sourcepub fn set_capture_usage_gain(
&self,
usage: AudioCaptureUsage,
gain_db: f32,
) -> Result<(), Error>
pub fn set_capture_usage_gain( &self, usage: AudioCaptureUsage, gain_db: f32, ) -> Result<(), Error>
Sets the Usage gain applied to Capturers. By default, the gain for all capture usages is set to Unity (0 db).
Sourcepub fn bind_usage_volume_control(
&self,
usage: &Usage,
volume_control: ServerEnd<VolumeControlMarker>,
) -> Result<(), Error>
pub fn bind_usage_volume_control( &self, usage: &Usage, volume_control: ServerEnd<VolumeControlMarker>, ) -> Result<(), Error>
Binds to a volume control protocol for the given usage.
Sourcepub fn get_volume_from_db(
&self,
usage: &Usage,
gain_db: f32,
___deadline: MonotonicInstant,
) -> Result<f32, Error>
pub fn get_volume_from_db( &self, usage: &Usage, gain_db: f32, ___deadline: MonotonicInstant, ) -> Result<f32, Error>
Queries the volume percentage [0, 1] that maps to a gain_db
value for a particular
usage
. This is the same mapping as used by the VolumeControl from
BindUsageVolumeControl
.
Sourcepub fn get_db_from_volume(
&self,
usage: &Usage,
volume: f32,
___deadline: MonotonicInstant,
) -> Result<f32, Error>
pub fn get_db_from_volume( &self, usage: &Usage, volume: f32, ___deadline: MonotonicInstant, ) -> Result<f32, Error>
Queries the decibel value that maps to a volume percentage [0, 1] for a particular usage
.
This is the same mapping as used by the VolumeControl from BindUsageVolumeControl
.
Sourcepub fn set_interaction(
&self,
active: &Usage,
affected: &Usage,
behavior: Behavior,
) -> Result<(), Error>
pub fn set_interaction( &self, active: &Usage, affected: &Usage, behavior: Behavior, ) -> Result<(), Error>
Sets how audio_core handles interactions of multiple active streams simultaneously. If
streams of Usage active
are processing audio, and streams of Usage affected
are as well,
the Behavior specified will be applied to the streams of Usage affected
.
Sourcepub fn reset_interactions(&self) -> Result<(), Error>
pub fn reset_interactions(&self) -> Result<(), Error>
Re-initializes the set of rules that are currently governing the interaction of streams in audio_core. The default behavior is ‘NONE’.
Sourcepub fn load_defaults(&self) -> Result<(), Error>
pub fn load_defaults(&self) -> Result<(), Error>
Re-loads the platform policy configuration. Falls back to a default config if the platform does not provide a config.
Trait Implementations§
Source§impl Debug for AudioCoreSynchronousProxy
impl Debug for AudioCoreSynchronousProxy
Source§impl SynchronousProxy for AudioCoreSynchronousProxy
impl SynchronousProxy for AudioCoreSynchronousProxy
Source§type Proxy = AudioCoreProxy
type Proxy = AudioCoreProxy
Source§type Protocol = AudioCoreMarker
type Protocol = AudioCoreMarker
Proxy
controls.