Class AVAudioSourceNode

  • All Implemented Interfaces:
    AVAudio3DMixing, AVAudioMixing, AVAudioStereoMixing, NSObject

    public class AVAudioSourceNode
    extends AVAudioNode
    implements AVAudioMixing
    AVAudioSourceNode AVAudioSourceNode wraps a client provided block to supply audio. With AVAudioSourceNode the client can supply audio data for rendering through an AVAudioSourceNodeRenderBlock block. This is similar to setting the input callback on an Audio Unit with the kAudioUnitProperty_SetRenderCallback property.
    • Constructor Detail

      • AVAudioSourceNode

        protected AVAudioSourceNode​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • destinationForMixerBus

        public AVAudioMixingDestination destinationForMixerBus​(AVAudioNode mixer,
                                                               long bus)
        Description copied from interface: AVAudioMixing
        Returns the AVAudioMixingDestination object corresponding to specified mixer node and its input bus When a source node is connected to multiple mixers downstream, setting AVAudioMixing properties directly on the source node will apply the change to all the mixers downstream. If you want to set/get properties on a specific mixer, use this method to get the corresponding AVAudioMixingDestination and set/get properties on it. Note: - Properties set on individual AVAudioMixingDestination instances will not reflect at the source node level. - AVAudioMixingDestination reference returned by this method could become invalid when there is any disconnection between the source and the mixer node. Hence this reference should not be retained and should be fetched every time you want to set/get properties on a specific mixer. If the source node is not connected to the specified mixer/input bus, this method returns nil. Calling this on an AVAudioMixingDestination instance returns self if the specified mixer/input bus matches its connection point, otherwise, it returns nil.
        Specified by:
        destinationForMixerBus in interface AVAudioMixing
      • hash_static

        public static long hash_static()
      • initWithFormatRenderBlock

        public AVAudioSourceNode initWithFormatRenderBlock​(AVAudioFormat format,
                                                           AVAudioSourceNode.Block_initWithFormatRenderBlock block)
        initWithFormat:renderBlock: Create a node with a render block. The block can be called on realtime or non-realtime threads depending on the engine’s operating mode and it is the client's responsibility to handle it in a thread-safe manner. The audio format for the output bus will be set from the connection format when connecting to another node. AVAudioSourceNode supports different audio formats for the block and output, but only Linear PCM conversions are supported (sample rate, bit depth, interleaving).
        Parameters:
        format - The format of the PCM audio data that will be supplied by the block.
        block - The block to supply audio data to the output.
      • initWithRenderBlock

        public AVAudioSourceNode initWithRenderBlock​(AVAudioSourceNode.Block_initWithRenderBlock block)
        initWithRenderBlock: Create a node with a render block. The block can be called on realtime or non-realtime threads depending on the engine’s operating mode and it is the client's responsibility to handle it in a thread-safe manner. The audio format for the output bus will be set from the connection format when connecting to another node. The audio format for the block will be set to the node's output format. If node is reconnected with a different output format, the audio format for the block will also change.
        Parameters:
        block - The block to supply audio data to the output.
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • obstruction

        public float obstruction()
        Description copied from interface: AVAudio3DMixing
        [@property] obstruction Simulates filtering of the direct path of sound due to an obstacle Only the direct path of sound between the source and listener is blocked. Range: -100.0 -> 0.0 dB Default: 0.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        obstruction in interface AVAudio3DMixing
      • occlusion

        public float occlusion()
        Description copied from interface: AVAudio3DMixing
        [@property] occlusion Simulates filtering of the direct and reverb paths of sound due to an obstacle Both the direct and reverb paths of sound between the source and listener are blocked. Range: -100.0 -> 0.0 dB Default: 0.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        occlusion in interface AVAudio3DMixing
      • pan

        public float pan()
        Description copied from interface: AVAudioStereoMixing
        [@property] pan Set a bus's stereo pan Range: -1.0 -> 1.0 Default: 0.0 Mixer: AVAudioMixerNode
        Specified by:
        pan in interface AVAudioStereoMixing
      • pointSourceInHeadMode

        public long pointSourceInHeadMode()
        Description copied from interface: AVAudio3DMixing
        [@property] pointSourceInHeadMode In-head rendering choice for AVAudio3DMixingSourceModePointSource in AVAudio3DMixingRenderingAlgorithmAuto Default: AVAudio3DMixingPointSourceInHeadModeMono Mixer: AVAudioEnvironmentNode
        Specified by:
        pointSourceInHeadMode in interface AVAudio3DMixing
      • position

        public AVAudio3DPoint position()
        Description copied from interface: AVAudio3DMixing
        [@property] position The location of the source in the 3D environment The coordinates are specified in meters. Mixer: AVAudioEnvironmentNode
        Specified by:
        position in interface AVAudio3DMixing
      • rate

        public float rate()
        Description copied from interface: AVAudio3DMixing
        [@property] rate Changes the playback rate of the input signal A value of 2.0 results in the output audio playing one octave higher. A value of 0.5, results in the output audio playing one octave lower. Range: 0.5 -> 2.0 Default: 1.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        rate in interface AVAudio3DMixing
      • renderingAlgorithm

        public long renderingAlgorithm()
        Description copied from interface: AVAudio3DMixing
        [@property] renderingAlgorithm Type of rendering algorithm used Depending on the current output format of the AVAudioEnvironmentNode, only a subset of the rendering algorithms may be supported. An array of valid rendering algorithms can be retrieved by calling applicableRenderingAlgorithms on AVAudioEnvironmentNode. Default: AVAudio3DMixingRenderingAlgorithmEqualPowerPanning Mixer: AVAudioEnvironmentNode
        Specified by:
        renderingAlgorithm in interface AVAudio3DMixing
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • reverbBlend

        public float reverbBlend()
        Description copied from interface: AVAudio3DMixing
        [@property] reverbBlend Controls the blend of dry and reverb processed audio This property controls the amount of the source's audio that will be processed by the reverb in AVAudioEnvironmentNode. A value of 0.5 will result in an equal blend of dry and processed (wet) audio. Range: 0.0 (completely dry) -> 1.0 (completely wet) Default: 0.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        reverbBlend in interface AVAudio3DMixing
      • setObstruction

        public void setObstruction​(float value)
        Description copied from interface: AVAudio3DMixing
        [@property] obstruction Simulates filtering of the direct path of sound due to an obstacle Only the direct path of sound between the source and listener is blocked. Range: -100.0 -> 0.0 dB Default: 0.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        setObstruction in interface AVAudio3DMixing
      • setOcclusion

        public void setOcclusion​(float value)
        Description copied from interface: AVAudio3DMixing
        [@property] occlusion Simulates filtering of the direct and reverb paths of sound due to an obstacle Both the direct and reverb paths of sound between the source and listener are blocked. Range: -100.0 -> 0.0 dB Default: 0.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        setOcclusion in interface AVAudio3DMixing
      • setPan

        public void setPan​(float value)
        Description copied from interface: AVAudioStereoMixing
        [@property] pan Set a bus's stereo pan Range: -1.0 -> 1.0 Default: 0.0 Mixer: AVAudioMixerNode
        Specified by:
        setPan in interface AVAudioStereoMixing
      • setPointSourceInHeadMode

        public void setPointSourceInHeadMode​(long value)
        Description copied from interface: AVAudio3DMixing
        [@property] pointSourceInHeadMode In-head rendering choice for AVAudio3DMixingSourceModePointSource in AVAudio3DMixingRenderingAlgorithmAuto Default: AVAudio3DMixingPointSourceInHeadModeMono Mixer: AVAudioEnvironmentNode
        Specified by:
        setPointSourceInHeadMode in interface AVAudio3DMixing
      • setPosition

        public void setPosition​(AVAudio3DPoint value)
        Description copied from interface: AVAudio3DMixing
        [@property] position The location of the source in the 3D environment The coordinates are specified in meters. Mixer: AVAudioEnvironmentNode
        Specified by:
        setPosition in interface AVAudio3DMixing
      • setRate

        public void setRate​(float value)
        Description copied from interface: AVAudio3DMixing
        [@property] rate Changes the playback rate of the input signal A value of 2.0 results in the output audio playing one octave higher. A value of 0.5, results in the output audio playing one octave lower. Range: 0.5 -> 2.0 Default: 1.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        setRate in interface AVAudio3DMixing
      • setRenderingAlgorithm

        public void setRenderingAlgorithm​(long value)
        Description copied from interface: AVAudio3DMixing
        [@property] renderingAlgorithm Type of rendering algorithm used Depending on the current output format of the AVAudioEnvironmentNode, only a subset of the rendering algorithms may be supported. An array of valid rendering algorithms can be retrieved by calling applicableRenderingAlgorithms on AVAudioEnvironmentNode. Default: AVAudio3DMixingRenderingAlgorithmEqualPowerPanning Mixer: AVAudioEnvironmentNode
        Specified by:
        setRenderingAlgorithm in interface AVAudio3DMixing
      • setReverbBlend

        public void setReverbBlend​(float value)
        Description copied from interface: AVAudio3DMixing
        [@property] reverbBlend Controls the blend of dry and reverb processed audio This property controls the amount of the source's audio that will be processed by the reverb in AVAudioEnvironmentNode. A value of 0.5 will result in an equal blend of dry and processed (wet) audio. Range: 0.0 (completely dry) -> 1.0 (completely wet) Default: 0.0 Mixer: AVAudioEnvironmentNode
        Specified by:
        setReverbBlend in interface AVAudio3DMixing
      • setSourceMode

        public void setSourceMode​(long value)
        Description copied from interface: AVAudio3DMixing
        [@property] sourceMode Controls how individual channels of an input bus are rendered Default: AVAudio3DMixingSourceModeSpatializeIfMono Mixer: AVAudioEnvironmentNode
        Specified by:
        setSourceMode in interface AVAudio3DMixing
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • setVolume

        public void setVolume​(float value)
        Description copied from interface: AVAudioMixing
        [@property] volume Set a bus's input volume Range: 0.0 -> 1.0 Default: 1.0 Mixers: AVAudioMixerNode, AVAudioEnvironmentNode
        Specified by:
        setVolume in interface AVAudioMixing
      • sourceMode

        public long sourceMode()
        Description copied from interface: AVAudio3DMixing
        [@property] sourceMode Controls how individual channels of an input bus are rendered Default: AVAudio3DMixingSourceModeSpatializeIfMono Mixer: AVAudioEnvironmentNode
        Specified by:
        sourceMode in interface AVAudio3DMixing
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • volume

        public float volume()
        Description copied from interface: AVAudioMixing
        [@property] volume Set a bus's input volume Range: 0.0 -> 1.0 Default: 1.0 Mixers: AVAudioMixerNode, AVAudioEnvironmentNode
        Specified by:
        volume in interface AVAudioMixing