2012-09-18 16:07:33 -07:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* The origin of this IDL file is
|
|
|
|
* https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
|
|
|
|
*
|
|
|
|
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
|
|
|
* liability, trademark and document use rules apply.
|
|
|
|
*/
|
|
|
|
|
|
|
|
[PrefControlled]
|
2013-04-08 19:45:02 -07:00
|
|
|
interface AudioBufferSourceNode : AudioNode {
|
2012-09-18 16:07:33 -07:00
|
|
|
|
2013-01-23 16:50:18 -08:00
|
|
|
//const unsigned short UNSCHEDULED_STATE = 0;
|
|
|
|
//const unsigned short SCHEDULED_STATE = 1;
|
|
|
|
//const unsigned short PLAYING_STATE = 2;
|
|
|
|
//const unsigned short FINISHED_STATE = 3;
|
2012-09-18 16:07:33 -07:00
|
|
|
|
|
|
|
//readonly attribute unsigned short playbackState;
|
|
|
|
|
2013-04-09 08:28:42 -07:00
|
|
|
// Playback this in-memory audio asset
|
|
|
|
// Many sources can share the same buffer
|
2012-09-24 20:31:58 -07:00
|
|
|
attribute AudioBuffer? buffer;
|
2012-09-18 16:07:33 -07:00
|
|
|
|
2013-04-09 08:28:42 -07:00
|
|
|
//attribute AudioParam playbackRate;
|
2013-03-10 09:56:14 -07:00
|
|
|
|
|
|
|
attribute boolean loop;
|
|
|
|
attribute double loopStart;
|
|
|
|
attribute double loopEnd;
|
2012-09-18 16:07:33 -07:00
|
|
|
|
2013-02-04 15:07:25 -08:00
|
|
|
[Throws]
|
|
|
|
void start(optional double when = 0, optional double grainOffset = 0,
|
|
|
|
optional double grainDuration);
|
|
|
|
[Throws]
|
|
|
|
void stop(optional double when = 0);
|
2012-09-18 16:07:33 -07:00
|
|
|
};
|