Struct fidl_fuchsia_media::AudioCoreProxy
source · pub struct AudioCoreProxy { /* private fields */ }
Implementations§
source§impl AudioCoreProxy
impl AudioCoreProxy
sourcepub fn take_event_stream(&self) -> AudioCoreEventStream
pub fn take_event_stream(&self) -> AudioCoreEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
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.
sourcepub fn set_system_gain(&self, gain_db: f32) -> Result<(), Error>
pub fn set_system_gain(&self, gain_db: f32) -> Result<(), Error>
System Gain and Mute
Fuchsia clients control the volume of individual audio streams via the fuchsia.media.audio.GainControl protocol. System Gain and Mute affect all audio output, and are controlled with methods that use the same concepts as GainControl, namely: independent gain and mute, with change notifications. Setting System Mute to true leads to the same outcome as setting System Gain to MUTED_GAIN_DB: all audio output across the system is silenced.
Sets the systemwide gain in decibels. gain_db
values are clamped to
the range -160 db to 0 db, inclusive. This setting is applied to all
audio output devices. Audio input devices are unaffected.
Does not affect System Mute.
sourcepub fn set_system_mute(&self, muted: bool) -> Result<(), Error>
pub fn set_system_mute(&self, muted: bool) -> Result<(), Error>
Sets/clears the systemwide ‘Mute’ state for audio output devices. Audio input devices are unaffected. Changes to the System Mute state do not affect the value of System Gain.
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
) -> QueryResponseFut<f32>
pub fn get_volume_from_db( &self, usage: &Usage, gain_db: f32 ) -> QueryResponseFut<f32>
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
) -> QueryResponseFut<f32>
pub fn get_db_from_volume( &self, usage: &Usage, volume: f32 ) -> QueryResponseFut<f32>
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 AudioCoreProxyInterface for AudioCoreProxy
impl AudioCoreProxyInterface for AudioCoreProxy
fn create_audio_renderer( &self, audio_out_request: ServerEnd<AudioRendererMarker> ) -> Result<(), Error>
fn create_audio_capturer_with_configuration( &self, stream_type: &AudioStreamType, configuration: &AudioCapturerConfiguration, audio_capturer_request: ServerEnd<AudioCapturerMarker> ) -> Result<(), Error>
fn create_audio_capturer( &self, loopback: bool, audio_in_request: ServerEnd<AudioCapturerMarker> ) -> Result<(), Error>
fn set_system_gain(&self, gain_db: f32) -> Result<(), Error>
fn set_system_mute(&self, muted: bool) -> Result<(), Error>
fn enable_device_settings(&self, enabled: bool) -> Result<(), Error>
fn set_render_usage_gain( &self, usage: AudioRenderUsage, gain_db: f32 ) -> Result<(), Error>
fn set_capture_usage_gain( &self, usage: AudioCaptureUsage, gain_db: f32 ) -> Result<(), Error>
fn bind_usage_volume_control( &self, usage: &Usage, volume_control: ServerEnd<VolumeControlMarker> ) -> Result<(), Error>
type GetVolumeFromDbResponseFut = QueryResponseFut<f32>
fn get_volume_from_db( &self, usage: &Usage, gain_db: f32 ) -> Self::GetVolumeFromDbResponseFut
type GetDbFromVolumeResponseFut = QueryResponseFut<f32>
fn get_db_from_volume( &self, usage: &Usage, volume: f32 ) -> Self::GetDbFromVolumeResponseFut
fn set_interaction( &self, active: &Usage, affected: &Usage, behavior: Behavior ) -> Result<(), Error>
fn reset_interactions(&self) -> Result<(), Error>
fn load_defaults(&self) -> Result<(), Error>
source§impl Clone for AudioCoreProxy
impl Clone for AudioCoreProxy
source§fn clone(&self) -> AudioCoreProxy
fn clone(&self) -> AudioCoreProxy
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AudioCoreProxy
impl Debug for AudioCoreProxy
source§impl Proxy for AudioCoreProxy
impl Proxy for AudioCoreProxy
§type Protocol = AudioCoreMarker
type Protocol = AudioCoreMarker
Proxy
controls.