Dart Documentationbot_htmlAudioLoader

AudioLoader class

class AudioLoader extends ResourceLoader<AudioBuffer> {
  final AudioContext context;

  AudioLoader(this.context, Iterable<String> urlList) :
    super(urlList);

  void _doLoad(String blobUrl) {
    // Load buffer asynchronously
    final HttpRequest arrayBufferRequest = new HttpRequest();
    arrayBufferRequest.open("GET", blobUrl, true);
    arrayBufferRequest.responseType = "arraybuffer";

    arrayBufferRequest.on.load.add((args) {
      // Asynchronously decode the audio file data in request.response
      context.decodeAudioData(
        arrayBufferRequest.response,
        (buffer) => _saveBuffer(blobUrl, buffer),
        (buffer) => _onAudioLoadError(blobUrl, 'decode error', buffer));
    });

    arrayBufferRequest.on.error.add((args) {
      _onAudioLoadError(blobUrl, 'BufferLoader: XHR error', args);
    });

    arrayBufferRequest.send();
  }

  void _onAudioLoadError(String blobUrl, String description, error) {
    print(['Error!', description, error]);
    _loadResourceFailed(blobUrl);
  }

  void _saveBuffer(String blobUrl, AudioBuffer buffer) {
    if (buffer == null) {
      _onAudioLoadError(blobUrl, 'null buffer', '');
    }
    _loadResourceSucceed(blobUrl, buffer);
  }
}

Extends

ResourceLoader<T> > AudioLoader

Constructors

new AudioLoader(AudioContext context, Iterable<String> urlList) #

AudioLoader(this.context, Iterable<String> urlList) :
  super(urlList);

Properties

final int completedBytes #

inherited from ResourceLoader
int get completedBytes {
  return _entries.selectNumbers((e) => e.completedBytes).sum();
}

final int completedCount #

inherited from ResourceLoader
int get completedCount => _entries.count((e) => e.completed);

final AudioContext context #

final AudioContext context;

final EventRoot loaded #

inherited from ResourceLoader
EventRoot get loaded => _loadedEvent;

final EventRoot progress #

inherited from ResourceLoader
EventRoot get progress => _progressEvent;

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

final String state #

inherited from ResourceLoader
String get state => _state;

final int totalBytes #

inherited from ResourceLoader
int get totalBytes {
  return _entries.selectNumbers((e) {
    if(e.totalBytes == null) {
      return _defaultSize;
    } else {
      return e.totalBytes;
    }
  }).sum();
}

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

new AudioLoader(AudioContext context, Iterable<String> urlList) #

AudioLoader(this.context, Iterable<String> urlList) :
  super(urlList);

T getResource(String url) #

inherited from ResourceLoader
T getResource(String url) => _getByUrl(url).resource;

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

void load() #

inherited from ResourceLoader
void load() {
  assert(_state == StateUnloaded);
  _state = StateLoading;
  for(final e in _entries) {
    _httpLoad(e.url);
  }
}

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

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.

const Object();

new ResourceLoader(Iterable<String> urlList) #

inherited from ResourceLoader
ResourceLoader(Iterable<String> urlList) :
  _entries = _buildRORE(urlList);

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();