#[repr(transparent)]pub struct AVAudio3DMixingRenderingAlgorithm(pub NSInteger);AVAudioMixing only.Expand description
Types of rendering algorithms available per input bus of the environment node
The rendering algorithms differ in terms of quality and cpu cost. AVAudio3DMixingRenderingAlgorithmEqualPowerPanning is the simplest panning algorithm and also the least expensive computationally.
When rendering to multi-channel hardware, audio data will only be rendered to channels 1 & 2 with all rendering algorithms except AVAudio3DMixingRenderingAlgorithmSoundField and AVAudio3DMixingRenderingAlgorithmAuto.
AVAudio3DMixingRenderingAlgorithmEqualPowerPanning EqualPowerPanning merely pans the data of the mixer bus into a stereo field. This algorithm is analogous to the pan knob found on a mixing board channel strip.
AVAudio3DMixingRenderingAlgorithmSphericalHead SphericalHead is designed to emulate 3 dimensional space in headphones by simulating inter-aural time delays and other spatial cues. SphericalHead is slightly less CPU intensive than the HRTF algorithm.
AVAudio3DMixingRenderingAlgorithmHRTF HRTF (Head Related Transfer Function) is a high quality algorithm using filtering to emulate 3 dimensional space in headphones. HRTF is a cpu intensive algorithm.
AVAudio3DMixingRenderingAlgorithmHRTFHQ Higher quality HRTF rendering algorithm compared to AVAudio3DMixingRenderingAlgorithmHRTF. Improvements have been made to the overall frequency response and localization of sources in a 3D space.
AVAudio3DMixingRenderingAlgorithmSoundField SoundField is designed for rendering to multi channel hardware. The mixer takes data being rendered with SoundField and distributes it amongst all the output channels with a weighting toward the location in which the sound derives. It is very effective for ambient sounds, which may derive from a specific location in space, yet should be heard through the listener’s entire space.
AVAudio3DMixingRenderingAlgorithmStereoPassThrough StereoPassThrough should be used when no localization is desired for the source data. Setting this algorithm tells the mixer to pass the input channels to output without localization. If the input and output AudioChannelLayouts differ, mixing is done according to the kAudioFormatProperty_MatrixMixMap property of the layouts.
AVAudio3DMixingRenderingAlgorithmAuto Automatically pick the highest-quality rendering algorithm available for current playback hardware. The algorithm may not be identical to other existing algorithms and may change in the future as new algorithms are developed. When using Manual Rendering modes or wired output, it may be necessary to manually set the AVAudioEnvironmentNode’s output type. Multi-channel rendering requires setting a channel layout on the AVAudioEnvironmentNode’s output.
See also Apple’s documentation
Tuple Fields§
§0: NSIntegerImplementations§
Source§impl AVAudio3DMixingRenderingAlgorithm
impl AVAudio3DMixingRenderingAlgorithm
pub const EqualPowerPanning: Self
pub const SphericalHead: Self
pub const HRTF: Self
pub const SoundField: Self
pub const StereoPassThrough: Self
pub const HRTFHQ: Self
pub const Auto: Self
Trait Implementations§
Source§impl Clone for AVAudio3DMixingRenderingAlgorithm
impl Clone for AVAudio3DMixingRenderingAlgorithm
Source§fn clone(&self) -> AVAudio3DMixingRenderingAlgorithm
fn clone(&self) -> AVAudio3DMixingRenderingAlgorithm
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Ord for AVAudio3DMixingRenderingAlgorithm
impl Ord for AVAudio3DMixingRenderingAlgorithm
Source§fn cmp(&self, other: &AVAudio3DMixingRenderingAlgorithm) -> Ordering
fn cmp(&self, other: &AVAudio3DMixingRenderingAlgorithm) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for AVAudio3DMixingRenderingAlgorithm
impl PartialEq for AVAudio3DMixingRenderingAlgorithm
Source§fn eq(&self, other: &AVAudio3DMixingRenderingAlgorithm) -> bool
fn eq(&self, other: &AVAudio3DMixingRenderingAlgorithm) -> bool
self and other values to be equal, and is used by ==.