pub(crate) trait BaseAudioContextMethods<D>where
D: DomTypes,{
Show 24 methods
// Required methods
fn Destination(
&self,
cx: &mut JSContext,
) -> Root<Dom<<D as DomTypes>::AudioDestinationNode>>;
fn SampleRate(&self) -> Finite<f32>;
fn CurrentTime(&self) -> Finite<f64>;
fn Listener(
&self,
cx: &mut JSContext,
) -> Root<Dom<<D as DomTypes>::AudioListener>>;
fn State(&self) -> AudioContextState;
fn Resume(
&self,
realm: &mut CurrentRealm<'_>,
) -> <<D as DomTypes>::Promise as PromiseHelpers<D>>::StackRoot;
fn GetOnstatechange(
&self,
cx: &mut JSContext,
) -> Option<RootedCallback<EventHandlerNonNull<D>>>;
fn SetOnstatechange(
&self,
cx: &mut JSContext,
value: Option<RootedCallback<EventHandlerNonNull<D>>>,
);
fn CreateBuffer(
&self,
cx: &mut JSContext,
numberOfChannels: u32,
length: u32,
sampleRate: Finite<f32>,
) -> Result<Root<Dom<<D as DomTypes>::AudioBuffer>>, Error>;
fn DecodeAudioData(
&self,
realm: &mut CurrentRealm<'_>,
audioData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferU8, *mut JSObject>>,
successCallback: Option<Option<RootedCallback<DecodeSuccessCallback<D>>>>,
errorCallback: Option<Option<RootedCallback<DecodeErrorCallback<D>>>>,
) -> <<D as DomTypes>::Promise as PromiseHelpers<D>>::StackRoot;
fn CreateBufferSource(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::AudioBufferSourceNode>>, Error>;
fn CreateConstantSource(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::ConstantSourceNode>>, Error>;
fn CreateAnalyser(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::AnalyserNode>>, Error>;
fn CreateGain(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::GainNode>>, Error>;
fn CreateDelay(
&self,
cx: &mut JSContext,
maxDelayTime: Finite<f64>,
) -> Result<Root<Dom<<D as DomTypes>::DelayNode>>, Error>;
fn CreateBiquadFilter(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::BiquadFilterNode>>, Error>;
fn CreateIIRFilter(
&self,
cx: &mut JSContext,
feedforward: Vec<Finite<f64>>,
feedback: Vec<Finite<f64>>,
) -> Result<Root<Dom<<D as DomTypes>::IIRFilterNode>>, Error>;
fn CreatePanner(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::PannerNode>>, Error>;
fn CreateStereoPanner(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::StereoPannerNode>>, Error>;
fn CreateConvolver(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::ConvolverNode>>, Error>;
fn CreateChannelSplitter(
&self,
cx: &mut JSContext,
numberOfOutputs: u32,
) -> Result<Root<Dom<<D as DomTypes>::ChannelSplitterNode>>, Error>;
fn CreateChannelMerger(
&self,
cx: &mut JSContext,
numberOfInputs: u32,
) -> Result<Root<Dom<<D as DomTypes>::ChannelMergerNode>>, Error>;
fn CreateOscillator(
&self,
cx: &mut JSContext,
) -> Result<Root<Dom<<D as DomTypes>::OscillatorNode>>, Error>;
fn CreatePeriodicWave(
&self,
cx: &mut JSContext,
real: Vec<Finite<f32>>,
imag: Vec<Finite<f32>>,
constraints: &PeriodicWaveConstraints,
) -> Result<Root<Dom<<D as DomTypes>::PeriodicWave>>, Error>;
}Required Methods§
fn Destination( &self, cx: &mut JSContext, ) -> Root<Dom<<D as DomTypes>::AudioDestinationNode>>
fn SampleRate(&self) -> Finite<f32>
fn CurrentTime(&self) -> Finite<f64>
fn Listener( &self, cx: &mut JSContext, ) -> Root<Dom<<D as DomTypes>::AudioListener>>
fn State(&self) -> AudioContextState
fn Resume( &self, realm: &mut CurrentRealm<'_>, ) -> <<D as DomTypes>::Promise as PromiseHelpers<D>>::StackRoot
fn GetOnstatechange( &self, cx: &mut JSContext, ) -> Option<RootedCallback<EventHandlerNonNull<D>>>
fn SetOnstatechange( &self, cx: &mut JSContext, value: Option<RootedCallback<EventHandlerNonNull<D>>>, )
fn CreateBuffer( &self, cx: &mut JSContext, numberOfChannels: u32, length: u32, sampleRate: Finite<f32>, ) -> Result<Root<Dom<<D as DomTypes>::AudioBuffer>>, Error>
fn DecodeAudioData( &self, realm: &mut CurrentRealm<'_>, audioData: CustomAutoRooterGuard<'_, TypedArray<ArrayBufferU8, *mut JSObject>>, successCallback: Option<Option<RootedCallback<DecodeSuccessCallback<D>>>>, errorCallback: Option<Option<RootedCallback<DecodeErrorCallback<D>>>>, ) -> <<D as DomTypes>::Promise as PromiseHelpers<D>>::StackRoot
fn CreateBufferSource( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::AudioBufferSourceNode>>, Error>
fn CreateConstantSource( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::ConstantSourceNode>>, Error>
fn CreateAnalyser( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::AnalyserNode>>, Error>
fn CreateGain( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::GainNode>>, Error>
fn CreateDelay( &self, cx: &mut JSContext, maxDelayTime: Finite<f64>, ) -> Result<Root<Dom<<D as DomTypes>::DelayNode>>, Error>
fn CreateBiquadFilter( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::BiquadFilterNode>>, Error>
fn CreateIIRFilter( &self, cx: &mut JSContext, feedforward: Vec<Finite<f64>>, feedback: Vec<Finite<f64>>, ) -> Result<Root<Dom<<D as DomTypes>::IIRFilterNode>>, Error>
fn CreatePanner( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::PannerNode>>, Error>
fn CreateStereoPanner( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::StereoPannerNode>>, Error>
fn CreateConvolver( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::ConvolverNode>>, Error>
fn CreateChannelSplitter( &self, cx: &mut JSContext, numberOfOutputs: u32, ) -> Result<Root<Dom<<D as DomTypes>::ChannelSplitterNode>>, Error>
fn CreateChannelMerger( &self, cx: &mut JSContext, numberOfInputs: u32, ) -> Result<Root<Dom<<D as DomTypes>::ChannelMergerNode>>, Error>
fn CreateOscillator( &self, cx: &mut JSContext, ) -> Result<Root<Dom<<D as DomTypes>::OscillatorNode>>, Error>
fn CreatePeriodicWave( &self, cx: &mut JSContext, real: Vec<Finite<f32>>, imag: Vec<Finite<f32>>, constraints: &PeriodicWaveConstraints, ) -> Result<Root<Dom<<D as DomTypes>::PeriodicWave>>, Error>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".