UML 类图
@startuml meida-audio
class AudioNode extends EventTarget {
+ channelCount
+ channelCountMode
+ channelInterpretation
+ context
+ numberOfInputs
+ numberOfOutputs
.. 方法 ..
+ connect()
+ disconnect()
}
class MediaElementAudioSourceNode extends AudioNode{
+ mediaElement
}
class MediaStreamAudioDestinationNode extends AudioNode{
+ MediaStream stream
}
class AudioWorkletNode extends AudioNode{
.. 构造函数 ..
AudioWorkletNode(BaseAudioContext, name)
.. 基础属性 ..
+ parameters
+ port
.. 事件属性 ..
+ attribute EventHandler onprocessorerror
}
class BaseAudioContext extends EventTarget {
+ readonly AudioWorklet audioWorklet
+ currentTime
+ destination
+ listener
+ sampleRate
+ state
.. 滤波器 ..
+ createXXXXXFilter()
.. arraybuffer 转化为 ..
decodeAudioData()
createBufferSource()
.. 不推荐的 ..
+ --createScriptProcessor-- ()
}
class AudioContext extends BaseAudioContext {
+ readonly baseLatency
+ readonly outputLatency
-- 从Stream中创建 音频流 --
+ MediaElementAudioSourceNode createMediaElementSource()
+ MediaElementAudioSourceNode createMediaStreamSource()
+ MediaElementAudioSourceNode createMediaStreamTrackSource()
-- 获取处理后的音频流 --
+ MediaStreamAudioDestinationNode createMediaStreamDestination()
-- 音频流状态操作 --
+ close()
+ resume()
+ suspend()
}
class Worklet {
+ Promise addModule()
}
class AudioWorklet extends Worklet {
}
AudioWorklet o-- BaseAudioContext
MediaElementAudioSourceNode o-- AudioContext
MediaStreamAudioDestinationNode o-- AudioContext
BaseAudioContext o- AudioWorkletNode::BaseAudioContext
@enduml