pub struct AudioCoreProxy { /* private fields */ }

Implementations§

source§

impl AudioCoreProxy

source

pub fn new(channel: AsyncChannel) -> Self

Create a new Proxy for fuchsia.media/AudioCore.

source

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.

source

pub fn create_audio_renderer( &self, audio_out_request: ServerEnd<AudioRendererMarker> ) -> Result<(), Error>

Creates an AudioRenderer which outputs audio to the default device.

source

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.

source

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.

source

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.

source

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.

source

pub fn enable_device_settings(&self, enabled: bool) -> Result<(), Error>

source

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).

source

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).

source

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.

source

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.

source

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.

source

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.

source

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’.

source

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

source§

fn create_audio_renderer( &self, audio_out_request: ServerEnd<AudioRendererMarker> ) -> Result<(), Error>

source§

fn create_audio_capturer_with_configuration( &self, stream_type: &AudioStreamType, configuration: &AudioCapturerConfiguration, audio_capturer_request: ServerEnd<AudioCapturerMarker> ) -> Result<(), Error>

source§

fn create_audio_capturer( &self, loopback: bool, audio_in_request: ServerEnd<AudioCapturerMarker> ) -> Result<(), Error>

source§

fn set_system_gain(&self, gain_db: f32) -> Result<(), Error>

source§

fn set_system_mute(&self, muted: bool) -> Result<(), Error>

source§

fn enable_device_settings(&self, enabled: bool) -> Result<(), Error>

source§

fn set_render_usage_gain( &self, usage: AudioRenderUsage, gain_db: f32 ) -> Result<(), Error>

source§

fn set_capture_usage_gain( &self, usage: AudioCaptureUsage, gain_db: f32 ) -> Result<(), Error>

source§

fn bind_usage_volume_control( &self, usage: &Usage, volume_control: ServerEnd<VolumeControlMarker> ) -> Result<(), Error>

§

type GetVolumeFromDbResponseFut = QueryResponseFut<f32>

source§

fn get_volume_from_db( &self, usage: &Usage, gain_db: f32 ) -> Self::GetVolumeFromDbResponseFut

§

type GetDbFromVolumeResponseFut = QueryResponseFut<f32>

source§

fn get_db_from_volume( &self, usage: &Usage, volume: f32 ) -> Self::GetDbFromVolumeResponseFut

source§

fn set_interaction( &self, active: &Usage, affected: &Usage, behavior: Behavior ) -> Result<(), Error>

source§

fn reset_interactions(&self) -> Result<(), Error>

source§

fn load_defaults(&self) -> Result<(), Error>

source§

impl Clone for AudioCoreProxy

source§

fn clone(&self) -> AudioCoreProxy

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for AudioCoreProxy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Proxy for AudioCoreProxy

§

type Protocol = AudioCoreMarker

The protocol which this Proxy controls.
source§

fn from_channel(inner: AsyncChannel) -> Self

Create a proxy over the given channel.
source§

fn into_channel(self) -> Result<AsyncChannel, Self>

Attempt to convert the proxy back into a channel. Read more
source§

fn as_channel(&self) -> &AsyncChannel

Get a reference to the proxy’s underlying channel. Read more
§

fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>

Attempt to convert the proxy back into a client end. Read more
§

fn is_closed(&self) -> bool

Returns true if the proxy has received the PEER_CLOSED signal.
§

fn on_closed(&self) -> OnSignals<'_, Unowned<'_, Handle>>

Returns a future that completes when the proxy receives the PEER_CLOSED signal.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more