WebAudioApiSoundChannel class
class WebAudioApiSoundChannel extends SoundChannel {
 SoundTransform _soundTransform;
 bool _loop;
 AudioBufferSourceNode _sourceNode;
 WebAudioApiSound _webAudioApiSound;
 WebAudioApiMixer _webAudioApiMixer;
 WebAudioApiSoundChannel(WebAudioApiSound webAudioApiSound, bool loop, SoundTransform soundTransform) {
   _webAudioApiSound = webAudioApiSound;
   _soundTransform = (soundTransform != null) ? soundTransform : new SoundTransform();
   _loop = loop;
   _webAudioApiMixer = new WebAudioApiMixer(SoundMixer._webAudioApiMixer.inputNode);
   _webAudioApiMixer.applySoundTransform(_soundTransform);
   _sourceNode = WebAudioApiMixer.audioContext.createBufferSource();
   _sourceNode.buffer = _webAudioApiSound._buffer;
   _sourceNode.loop = loop;
   _sourceNode.connectNode(_webAudioApiMixer.inputNode);
   _sourceNode.start(0);
 }
 //-------------------------------------------------------------------------------------------------
 SoundTransform get soundTransform => _soundTransform;
 void set soundTransform(SoundTransform value) {
   _soundTransform = (soundTransform != null) ? soundTransform : new SoundTransform();
   _webAudioApiMixer.applySoundTransform(value);
 }
 void stop() {
   _sourceNode.stop(0);
 }
}
Extends
EventDispatcher > SoundChannel > WebAudioApiSoundChannel
Constructors
new WebAudioApiSoundChannel(WebAudioApiSound webAudioApiSound, bool loop, SoundTransform soundTransform) #
Creates a new Object instance.
Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.
docs inherited from Object 
WebAudioApiSoundChannel(WebAudioApiSound webAudioApiSound, bool loop, SoundTransform soundTransform) {
 _webAudioApiSound = webAudioApiSound;
 _soundTransform = (soundTransform != null) ? soundTransform : new SoundTransform();
 _loop = loop;
 _webAudioApiMixer = new WebAudioApiMixer(SoundMixer._webAudioApiMixer.inputNode);
 _webAudioApiMixer.applySoundTransform(_soundTransform);
 _sourceNode = WebAudioApiMixer.audioContext.createBufferSource();
 _sourceNode.buffer = _webAudioApiSound._buffer;
 _sourceNode.loop = loop;
 _sourceNode.connectNode(_webAudioApiMixer.inputNode);
 _sourceNode.start(0);
}
Properties
SoundTransform soundTransform #
SoundTransform get soundTransform => _soundTransform;
void set soundTransform(SoundTransform value) {
 _soundTransform = (soundTransform != null) ? soundTransform : new SoundTransform();
 _webAudioApiMixer.applySoundTransform(value);
}
Methods
StreamSubscription<Event> addEventListener(String eventType, EventListener eventListener, {bool useCapture: false, int priority: 0}) #
inherited from EventDispatcher 
StreamSubscription<Event> addEventListener(String eventType, EventListener eventListener, {
 bool useCapture: false, int priority: 0 }) {
 return this.on(eventType)._subscribe(eventListener, useCapture, priority);
}
void dispatchEvent(Event event) #
inherited from EventDispatcher 
void dispatchEvent(Event event) {
 _dispatchEventInternal(event, this, EventPhase.AT_TARGET);
}
bool hasEventListener(String eventType) #
inherited from EventDispatcher 
bool hasEventListener(String eventType) {
 var eventStreams = _eventStreams;
 if (eventStreams == null) return false;
 var eventStream = eventStreams[eventType];
 if (eventStream == null) return false;
 return eventStream.hasSubscriptions;
}
EventStream<Event> on(String eventType) #
inherited from EventDispatcher 
EventStream<Event> on(String eventType) {
 var eventStreams = _eventStreams;
 if (eventStreams == null) {
   eventStreams = new Map<String, EventStream>();
   _eventStreams = eventStreams;
 }
 var eventStream = eventStreams[eventType];
 if (eventStream == null) {
   eventStream = new EventStream._internal(this, eventType);
   eventStreams[eventType] = eventStream;
 }
 return eventStream;
}
void removeEventListener(String eventType, EventListener eventListener, {bool useCapture: false}) #
inherited from EventDispatcher 
void removeEventListener(String eventType, EventListener eventListener, {
 bool useCapture: false }) {
 this.on(eventType)._unsubscribe(eventListener, useCapture);
}
void removeEventListeners(String eventType) #
inherited from EventDispatcher 
void removeEventListeners(String eventType) {
 this.on(eventType).cancelSubscriptions();
}
void stop() #
void stop() {
 _sourceNode.stop(0);
}