Documentation
¶
Overview ¶
Package wasmal exposes the Web Audio API through Go code.
Index ¶
- Constants
- type AudioBuffer
- type AudioBufferSourceNode
- type AudioContext
- type AudioContextState
- type AudioDestinationNode
- type AudioListener
- type AudioNode
- type AudioParam
- type AudioScheduledSourceNode
- type BaseAudioContext
- type ConvolverNode
- type DelayNode
- type DynamicsCompressorNode
- type GainNode
- type OscillatorNode
- type OscillatorType
- type PannerDistanceModel
- type PannerNode
- type PannerPanningModel
- type Promise
- type StereoPannerNode
Constants ¶
const DefaultSampleRate = 44100
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AudioBuffer ¶
type AudioBuffer interface {
SampleRate() float64
Length() uint
Duration() float64
NumberOfChannels() uint
// contains filtered or unexported methods
}
AudioBuffer as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer
type AudioBufferSourceNode ¶
type AudioBufferSourceNode interface {
AudioScheduledSourceNode
Buffer() AudioBuffer
SetBuffer(buffer AudioBuffer)
Detune() AudioParam
Loop() bool
SetLoop(loop bool)
LoopStart() float64
SetLoopStart(start float64)
LoopEnd() float64
SetLoopEnd(end float64)
PlaybackRate() AudioParam
StartDetailed(when, offset float64, duration opt.T[float64])
}
AudioBufferSourceNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode
type AudioContext ¶
type AudioContext interface {
BaseAudioContext
BaseLatency() float64
OutputLatency() float64
Close() Promise[struct{}]
Resume() Promise[struct{}]
Suspend() Promise[struct{}]
}
AudioContext as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioContext
func NewAudioContext ¶
func NewAudioContext() AudioContext
type AudioContextState ¶
type AudioContextState string
AudioContextState as described here: https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/state
const ( AudioContextStateSuspended AudioContextState = "suspended" AudioContextStateRunning AudioContextState = "running" AudioContextStateClosed AudioContextState = "closed" )
type AudioDestinationNode ¶
AudioDestinationNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioDestinationNode
type AudioListener ¶
type AudioListener interface {
PositionX() AudioParam
PositionY() AudioParam
PositionZ() AudioParam
ForwardX() AudioParam
ForwardY() AudioParam
ForwardZ() AudioParam
UpX() AudioParam
UpY() AudioParam
UpZ() AudioParam
// contains filtered or unexported methods
}
type AudioNode ¶
type AudioNode interface {
Context() BaseAudioContext
NumberOfInputs() uint
NumberOfOutputs() uint
ConnectNode(destination AudioNode)
ConnectParam(destination AudioParam)
Disconnect()
DisconnectNode(destination AudioNode)
DisconnectParam(destination AudioParam)
// contains filtered or unexported methods
}
AudioNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioNode
type AudioParam ¶
type AudioParam interface {
DefaultValue() float64
MaxValue() float64
MinValue() float64
Value() float64
SetValue(value float64)
SetValueAtTime(value, startTime float64)
LinearRampToValueAtTime(value, endTime float64)
ExponentialRampToValueAtTime(value, endTime float64)
SetTargetAtTime(target, startTime, timeConstant float64)
SetValueCurveAtTime(values []float64, startTime, duration float64)
CancelScheduledValues(startTime float64)
CancelAndHoldAtTime(cancelTime float64)
// contains filtered or unexported methods
}
AudioParam as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioParam
type AudioScheduledSourceNode ¶
AudioScheduledSourceNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/AudioScheduledSourceNode
type BaseAudioContext ¶
type BaseAudioContext interface {
CurrentTime() float64
Destination() AudioDestinationNode
Listener() AudioListener
SampleRate() float64
State() AudioContextState
CreateBuffer(numChannels, length, sampleRate uint) AudioBuffer
CreateBufferSource() AudioBufferSourceNode
CreateConvolver() ConvolverNode
CreateDelay() DelayNode
CreateDynamicsCompressor() DynamicsCompressorNode
CreateGain() GainNode
CreateOscillator() OscillatorNode
CreatePanner() PannerNode
CreateStereoPanner() StereoPannerNode
DecodeAudioData(data []byte) Promise[AudioBuffer]
// contains filtered or unexported methods
}
BaseAudioContext as described here: https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext
type ConvolverNode ¶
type ConvolverNode interface {
AudioNode
Buffer() AudioBuffer
SetBuffer(buffer AudioBuffer)
Normalize() bool
SetNormalize(normalize bool)
}
ConvolverNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/ConvolverNode
type DelayNode ¶
type DelayNode interface {
AudioNode
DelayTime() AudioParam
}
DelayNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/DelayNode
type DynamicsCompressorNode ¶
type DynamicsCompressorNode interface {
AudioNode
Threshold() AudioParam
Knee() AudioParam
Ratio() AudioParam
Reduction() float64
Attack() AudioParam
Release() AudioParam
}
DynamicsCompressorNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/DynamicsCompressorNode
type GainNode ¶
type GainNode interface {
AudioNode
Gain() AudioParam
}
GainNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/GainNode
type OscillatorNode ¶
type OscillatorNode interface {
AudioScheduledSourceNode
Frequency() AudioParam
Detune() AudioParam
Type() OscillatorType
SetType(oType OscillatorType)
}
OscillatorNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode
type OscillatorType ¶
type OscillatorType string
OscillatorType as described here: https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode/type
const ( OscillatorTypeSine OscillatorType = "sine" OscillatorTypeSquare OscillatorType = "square" OscillatorTypeSawTooth OscillatorType = "sawtooth" OscillatorTypeTriangle OscillatorType = "triangle" OscillatorTypeCustom OscillatorType = "custom" )
type PannerDistanceModel ¶
type PannerDistanceModel string
const ( PannerDistanceModelLinear PannerDistanceModel = "linear" PannerDistanceModelInverse PannerDistanceModel = "inverse" PannerDistanceModelExponential PannerDistanceModel = "exponential" )
type PannerNode ¶
type PannerNode interface {
AudioNode
ConeInnerAngle() float64
SetConeInnerAngle(angle float64)
ConeOuterAngle() float64
SetConeOuterAngle(angle float64)
DistanceModel() PannerDistanceModel
SetDistanceModel(model PannerDistanceModel)
MaxDistance() float64
SetMaxDistance(distance float64)
OrientationX() AudioParam
OrientationY() AudioParam
OrientationZ() AudioParam
PanningModel() PannerPanningModel
SetPanningModel(model PannerPanningModel)
PositionX() AudioParam
PositionY() AudioParam
PositionZ() AudioParam
RefDistance() float64
SetRefDistance(distance float64)
RolloffFactor() float64
SetRolloffFactor(factor float64)
}
PannerNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/PannerNode
type PannerPanningModel ¶
type PannerPanningModel string
const ( PannerPanningModelEqualPower PannerPanningModel = "equalpower" PannerPanningModelHRTF PannerPanningModel = "HRTF" )
type StereoPannerNode ¶
type StereoPannerNode interface {
AudioNode
Pan() AudioParam
}
StereoPannerNode as described here: https://developer.mozilla.org/en-US/docs/Web/API/StereoPannerNode