Class: SoundRecorder
Extends
Implements
Omit
<SoundRecorderOptions
,"backupMimeTypes"
>
Constructors
new SoundRecorder()
new SoundRecorder(
options
?):SoundRecorder
Node for recording sounds.
Parameters
• options?: SoundRecorderOptions
Returns
Overrides
Defined in
SoundRecorder.ts:31
Properties
_alpha
_alpha:
number
=1.0
Inherited from
Defined in
M2Node.ts:98
_draggable
protected
_draggable:boolean
=false
Inherited from
Defined in
M2Node.ts:101
_game?
optional
_game:Game
Inherited from
Defined in
M2Node.ts:105
_hidden
protected
_hidden:boolean
=false
Inherited from
Defined in
M2Node.ts:102
_isUserInteractionEnabled
protected
_isUserInteractionEnabled:boolean
=false
Inherited from
M2Node
._isUserInteractionEnabled
Defined in
M2Node.ts:100
_position
_position:
Point
Inherited from
Defined in
M2Node.ts:96
_scale
_scale:
number
=1.0
Inherited from
Defined in
M2Node.ts:97
_size
protected
_size:Size
Inherited from
Defined in
M2Node.ts:109
_zRotation
_zRotation:
number
=0
Inherited from
Defined in
M2Node.ts:99
absoluteAlpha
absoluteAlpha:
number
=1.0
Inherited from
Defined in
M2Node.ts:111
absoluteAlphaChange
absoluteAlphaChange:
number
=0
Inherited from
Defined in
M2Node.ts:112
absolutePosition
absolutePosition:
Point
Inherited from
Defined in
M2Node.ts:108
absoluteScale
absoluteScale:
number
=1.0
Inherited from
Defined in
M2Node.ts:110
actions
actions:
Action
[]
Inherited from
Defined in
M2Node.ts:113
audioTrackConstraints?
optional
audioTrackConstraints:MediaTrackConstraints
Additional audio constraints to be applied when requesting the audio device. see https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints
Remarks
Use with caution. All kinds of constraints may not be supported on all browsers, and specifying too restrictive constraints will result in no available user audio device and an exception. Unusual constraints may also result in an unexpected device being selected.
Example
audioTrackConstraints: {
channelCount: 1,
noiseSuppression: { ideal: true },
}
Implementation of
Omit.audioTrackConstraints
Defined in
SoundRecorder.ts:15
children
children:
M2Node
[]
Inherited from
Defined in
M2Node.ts:107
constructionIso8601TimeStamp
constructionIso8601TimeStamp:
string
Inherited from
M2Node
.constructionIso8601TimeStamp
Defined in
M2Node.ts:92
constructionSequence
constructionSequence:
number
Inherited from
Defined in
M2Node.ts:93
constructionTimeStamp
constructionTimeStamp:
number
Inherited from
Defined in
M2Node.ts:91
dragging
dragging:
boolean
=false
Is the node in a dragging state?
Inherited from
Defined in
M2Node.ts:141
draggingLastPointerOffset
draggingLastPointerOffset:
Point
What was the previous pointer offset when the node was in a dragging state?
Inherited from
M2Node
.draggingLastPointerOffset
Defined in
M2Node.ts:139
eventListeners
eventListeners:
M2NodeEventListener
<M2NodeEvent
>[]
Inherited from
Defined in
M2Node.ts:115
isDrawable
isDrawable:
boolean
=false
Overrides
Defined in
SoundRecorder.ts:13
isShape
isShape:
boolean
=false
Inherited from
Defined in
M2Node.ts:87
isText
isText:
boolean
=false
Inherited from
Defined in
M2Node.ts:88
layout
layout:
Layout
={}
FOR INTERNAL USE ONLY
Implementation of
Omit.layout
Inherited from
Defined in
M2Node.ts:103
loopMessages
loopMessages:
Set
<string
>
Inherited from
Defined in
M2Node.ts:121
maximumDuration?
optional
maximumDuration:number
Maximum duration, in milliseconds, to allow recording. If recording lasts longer than this duration, it will automatically be paused. This can be used to prevent excessively long recording and memory usage.
Implementation of
Omit.maximumDuration
Defined in
SoundRecorder.ts:16
mimeType?
optional
mimeType:string
Preferred MIME type to use for recording audio. audio/webm
or audio/mp4
is recommended. If omitted, it will use any MIME type supported by the device.
Implementation of
Omit.mimeType
Defined in
SoundRecorder.ts:14
name
name:
string
Name of the node. Only needed if the node will be referred to by name in a later function
Implementation of
Omit.name
Inherited from
Defined in
M2Node.ts:95
needsInitialization
needsInitialization:
boolean
=true
Inherited from
Defined in
M2Node.ts:117
nodeEvents
Inherited from
Defined in
M2Node.ts:122
options
options:
M2NodeOptions
Inherited from
Defined in
M2Node.ts:90
parent?
optional
parent:M2Node
Inherited from
Defined in
M2Node.ts:106
pressed
pressed:
boolean
=false
Is the node in a pressed state? E.g., did the user put the pointer down on the node and not yet release it?
Inherited from
Defined in
M2Node.ts:126
pressedAndWithinHitArea
pressedAndWithinHitArea:
boolean
=false
Is the node in a pressed state AND is the pointer within the node's hit area? For example, a user may put the pointer down on the node, but then move the pointer, while still down, beyond the node's hit area. In this case, pressed = true, but pressedAndWithinHitArea = false.
Inherited from
M2Node
.pressedAndWithinHitArea
Defined in
M2Node.ts:132
pressedInitialPointerOffset
pressedInitialPointerOffset:
Point
When the node initially enters the pressed state, what is the pointer offset? (offset from the canvas's origin to the pointer position). We save this because it will be needed if this press then led to a drag.
Inherited from
M2Node
.pressedInitialPointerOffset
Defined in
M2Node.ts:136
queuedAction?
optional
queuedAction:Action
Inherited from
Defined in
M2Node.ts:114
type
readonly
type:SoundRecorder
=M2NodeType.SoundRecorder
Overrides
Defined in
SoundRecorder.ts:12
userData
userData:
any
={}
Inherited from
Defined in
M2Node.ts:120
uuid
readonly
uuid:string
Internal
Unique identifier (UUID). Will be generated automatically. For m2c2kit library use only
Implementation of
Omit.uuid
Inherited from
Defined in
M2Node.ts:116
withinHitArea
withinHitArea:
boolean
=false
Inherited from
Defined in
M2Node.ts:127
Accessors
alpha
Get Signature
get alpha():
number
Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.
Returns
number
Set Signature
set alpha(
alpha
):void
Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.
Parameters
• alpha: number
Returns
void
Opacity of the node. 0 is fully transparent, 1 is fully opaque. Default is 1.0. Alpha has multiplicative inheritance. For example, if the node's parent is alpha .5 and this node's is alpha .4, then the node will appear with alpha .2.
Implementation of
Omit.alpha
Inherited from
Defined in
M2Node.ts:1383
ancestors
Get Signature
get ancestors():
M2Node
[]
Returns all ancestor nodes, not including the node itself.
Returns
M2Node
[]
Inherited from
Defined in
M2Node.ts:537
canvasKit
Get Signature
get canvasKit():
CanvasKit
Gets the scene that contains this node by searching up the ancestor tree recursively. Throws exception if node is not part of a scene.
Returns
CanvasKit
Scene that contains this node
Inherited from
Defined in
M2Node.ts:1277
completeNodeOptions
Get Signature
get
protected
completeNodeOptions():M2NodeOptions
Returns
Inherited from
Defined in
M2Node.ts:198
descendants
Get Signature
get descendants():
M2Node
[]
Returns all descendant nodes.
Remarks
Descendants are children and children of children, recursively.
Returns
M2Node
[]
Inherited from
Defined in
M2Node.ts:524
draggable
Get Signature
get draggable():
boolean
Can the node be dragged?
Returns
boolean
Set Signature
set draggable(
draggable
):void
Can the node be dragged?
Parameters
• draggable: boolean
Returns
void
Can the node be dragged?
Implementation of
Omit.draggable
Inherited from
Defined in
M2Node.ts:1419
game
Get Signature
get game():
Game
The game which this node is a part of.
Remarks
Throws error if node is not part of the game object.
Returns
Inherited from
Defined in
M2Node.ts:277
hidden
Get Signature
get hidden():
boolean
Is the node, and its children, hidden? (not displayed). Default is false
Returns
boolean
Set Signature
set hidden(
hidden
):void
Is the node, and its children, hidden? (not displayed). Default is false
Parameters
• hidden: boolean
Returns
void
Is the node, and its children, hidden? (not displayed). Default is false
Implementation of
Omit.hidden
Inherited from
Defined in
M2Node.ts:1408
isPaused
Get Signature
get isPaused():
boolean
Is the SoundRecorder
currently paused?
Returns
boolean
Defined in
SoundRecorder.ts:189
isRecording
Get Signature
get isRecording():
boolean
Is the SoundRecorder
currently recording?
Returns
boolean
Defined in
SoundRecorder.ts:185
isUserInteractionEnabled
Get Signature
get isUserInteractionEnabled():
boolean
Does the node respond to user events, such as taps? Default is false
Returns
boolean
Set Signature
set isUserInteractionEnabled(
isUserInteractionEnabled
):void
Does the node respond to user events, such as taps? Default is false
Parameters
• isUserInteractionEnabled: boolean
Returns
void
Does the node respond to user events, such as taps? Default is false
Implementation of
Omit.isUserInteractionEnabled
Inherited from
M2Node
.isUserInteractionEnabled
Defined in
M2Node.ts:1394
parentSceneAsNode
Get Signature
get parentSceneAsNode():
M2Node
Returns
Inherited from
Defined in
M2Node.ts:1281
position
Get Signature
get position():
Point
Position of the node within its parent coordinate system. Default is (0, 0)
Returns
Set Signature
set position(
position
):void
Position of the node within its parent coordinate system. Default is (0, 0)
Parameters
• position: Point
Returns
void
Position of the node within its parent coordinate system. Default is (0, 0)
Implementation of
Omit.position
Inherited from
Defined in
M2Node.ts:1327
scale
Get Signature
get scale():
number
Scale of the node. Default is 1.0
Returns
number
Set Signature
set scale(
scale
):void
Scale of the node. Default is 1.0
Parameters
• scale: number
Returns
void
Scale of the node. Default is 1.0
Implementation of
Omit.scale
Inherited from
Defined in
M2Node.ts:1372
size
Get Signature
get size():
Size
Returns
Set Signature
set size(
size
):void
Parameters
• size: Size
Returns
void
Inherited from
Defined in
M2Node.ts:1293
suppressEvents
Get Signature
get suppressEvents():
boolean
Should the node not emit events to the EventStore? Default is false.
Remarks
This property is for use by authors of Composite
nodes. It is not intended for general use.
Returns
boolean
Set Signature
set suppressEvents(
value
):void
Should the node not emit events to the EventStore? Default is false.
Remarks
This property is for use by authors of Composite
nodes. It is not intended for general use.
Parameters
• value: boolean
Returns
void
Should the node not emit events to the EventStore? Default is false.
Remarks
This property is for use by authors of Composite
nodes. It is not intended for general use.
Implementation of
Omit.suppressEvents
Inherited from
Defined in
M2Node.ts:1430
zRotation
Get Signature
get zRotation():
number
Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.
Returns
number
Set Signature
set zRotation(
zRotation
):void
Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.
Parameters
• zRotation: number
Returns
void
Rotation of the node around the Z axis. Unit is radians. Default is 0 (no rotation). zRotation has inheritance. In addition to this node's zRotation, all ancestors' zRotations will be applied.
Implementation of
Omit.zRotation
Inherited from
Defined in
M2Node.ts:1361
Methods
addChild()
addChild(
child
):void
Adds a child to this parent node. Throws exception if the child's name is not unique with respect to other children of this parent, or if the child has already been added to another parent.
Parameters
• child: M2Node
The child node to add
Returns
void
Inherited from
Defined in
M2Node.ts:346
addEventListener()
addEventListener<
T
>(type
,callback
,callbackOptions
?):void
Type Parameters
• T extends M2NodeEvent
Parameters
• type: string
• callback
• callbackOptions?: CallbackOptions
Returns
void
Inherited from
Defined in
M2Node.ts:760
descendant()
descendant<
T
>(name
):T
Searches all descendants by name and returns first matching node.
Type Parameters
• T extends M2Node
Parameters
• name: string
Name of the descendant node to return
Returns
T
Remarks
Descendants are children and children of children, recursively. Throws exception if no descendant with the given name is found.
Inherited from
Defined in
M2Node.ts:507
dispose()
dispose():
void
Returns
void
Defined in
SoundRecorder.ts:331
drawChildren()
drawChildren(
canvas
):void
Draws each child node that is Drawable and is not hidden, by zPosition order (highest zPosition on top).
Parameters
• canvas: Canvas
CanvasKit canvas
Returns
void
Inherited from
Defined in
M2Node.ts:1153
duplicate()
duplicate(
newName
?):SoundRecorder
Duplicates a node using deep copy.
Parameters
• newName?: string
optional name of the new, duplicated node. If not provided, name will be the new uuid
Returns
Remarks
This is a deep recursive clone (node and children). The uuid property of all duplicated nodes will be newly created, because uuid must be unique.
Overrides
Defined in
SoundRecorder.ts:343
getDrawableOptions()
protected
getDrawableOptions():DrawableOptions
Returns
Inherited from
Defined in
M2Node.ts:1231
getNodeOptions()
protected
getNodeOptions():M2NodeOptions
Returns
Inherited from
Defined in
M2Node.ts:1215
getTextOptions()
protected
getTextOptions():TextOptions
Returns
Inherited from
Defined in
M2Node.ts:1244
initialize()
initialize():
void
Returns
void
Overrides
Defined in
SoundRecorder.ts:63
involvedInActionAffectingAppearance()
involvedInActionAffectingAppearance():
boolean
Determines if this node or ancestor is part of an active action that affects it appearance.
Returns
boolean
true if part of active action affecting appearance
Remarks
This is used to determine if the node should be rendered with anti-aliasing or not. Anti-aliasing on some devices causes a new shader to be compiled during the action, which causes jank.
Inherited from
M2Node
.involvedInActionAffectingAppearance
Defined in
M2Node.ts:562
involvedInSceneTransition()
involvedInSceneTransition():
boolean
Determines if the node is a transitioning Scene or a descendant of a transitioning Scene.
Returns
boolean
true if transitioning
Inherited from
M2Node
.involvedInSceneTransition
Defined in
M2Node.ts:578
onDrag()
onDrag(
callback
,options
?):void
Executes a callback when the user continues dragging a node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Inherited from
Defined in
M2Node.ts:740
onDragEnd()
onDragEnd(
callback
,options
?):void
Executes a callback when the user stop dragging a node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Inherited from
Defined in
M2Node.ts:753
onDragStart()
onDragStart(
callback
,options
?):void
Executes a callback when the user begins dragging a node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Inherited from
Defined in
M2Node.ts:727
onPointerDown()
onPointerDown(
callback
,options
?):void
Executes a callback when the pointer first is down on the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
PointerDown is a pointer down (mouse click or touches begin) within the bounds of the node. It occurs under the same conditions as TapDown.
Inherited from
Defined in
M2Node.ts:668
onPointerLeave()
onPointerLeave(
callback
,options
?):void
Executes a callback when the user moves the pointer (mouse or touches) outside the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Inherited from
Defined in
M2Node.ts:714
onPointerMove()
onPointerMove(
callback
,options
?):void
Executes a callback when the user moves the pointer (mouse or touches) within the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Inherited from
Defined in
M2Node.ts:700
onPointerUp()
onPointerUp(
callback
,options
?):void
Executes a callback when the user releases a press from the node within the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
PointerUp is a pointer up (mouse click release or touches end) within the bounds of the node. It does not require that there was a previous PointerDown on the node.
Inherited from
Defined in
M2Node.ts:686
onTapDown()
onTapDown(
callback
,options
?):void
Executes a callback when the user presses down on the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapDown is a pointer down (mouse click or touches begin) within the bounds of the node.
Inherited from
Defined in
M2Node.ts:597
onTapLeave()
onTapLeave(
callback
,options
?):void
Executes a callback when the user moves the pointer (mouse, touches) beyond the bounds of the node while the pointer is down.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapLeave occurs when the pointer (mouse, touches) that has previously pressed the node moves beyond the bounds of the node before the press release.
Inherited from
Defined in
M2Node.ts:652
onTapUp()
onTapUp(
callback
,options
?):void
Executes a callback when the user releases a press, that has been fully within the node, from the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapUp is a pointer up (mouse click release or touches end) within the bounds of the node and the pointer, while down, has never moved beyond the bounds of the node.
Inherited from
Defined in
M2Node.ts:615
onTapUpAny()
onTapUpAny(
callback
,options
?):void
Executes a callback when the user releases a press from the node within the bounds of the node.
Parameters
• callback
function to execute
• options?: CallbackOptions
Returns
void
Remarks
TapUpAny is a pointer up (mouse click release or touches end) within the bounds of the node and the pointer, while down, is allowed to have been beyond the bounds of the node during the press before the release.
Inherited from
Defined in
M2Node.ts:634
pause()
pause():
void
Returns
void
Defined in
SoundRecorder.ts:158
removeAction()
removeAction(
key
):void
Remove an action from this node. If the action is running, it will be stopped.
Parameters
• key: string
key (string identifier) of the action to remove
Returns
void
Inherited from
Defined in
M2Node.ts:1189
removeAllActions()
removeAllActions():
void
Remove all actions from this node. If actions are running, they will be stopped.
Returns
void
Inherited from
Defined in
M2Node.ts:1197
removeAllChildren()
removeAllChildren():
void
Removes all children from the node.
Returns
void
Inherited from
Defined in
M2Node.ts:448
removeChild()
removeChild(
child
):void
Removes the specific child from this parent node. Throws exception if this parent does not contain the child.
Parameters
• child: M2Node
Returns
void
Inherited from
Defined in
M2Node.ts:458
removeChildren()
removeChildren(
children
):void
Removes the children from the parent. Throws error if the parent does not contain all of the children.
Parameters
• children: M2Node
[]
An array of children to remove from the parent node
Returns
void
Inherited from
Defined in
M2Node.ts:487
resume()
resume():
void
Returns
void
Defined in
SoundRecorder.ts:172
run()
run(
action
,key
?):void
Runs an action on this node.
Parameters
• action: Action
The action to run
• key?: string
key (string identifier) used to identify the action. Only needed if the action will be referred to later
Returns
void
Remarks
If the node is part of an active scene, the action runs immediately. Otherwise, the action will run when the node's scene becomes active. Calling run() multiple times on a node will add to existing actions, not replace them.
Inherited from
Defined in
M2Node.ts:1173
saveEvent()
protected
saveEvent(event
):void
Saves the node's event.
Parameters
event to save
Returns
void
Remarks
If the game event store is not available, the event is saved
within the node's nodeEvents
event array. It will be added to the game
event store when the node is added to the game.
Inherited from
Defined in
M2Node.ts:261
saveNodeNewEvent()
protected
saveNodeNewEvent():void
Save the node's construction event in the event store.
Returns
void
Inherited from
Defined in
M2Node.ts:207
savePropertyChangeEvent()
protected
savePropertyChangeEvent(property
,value
):void
Saves the node's property change event in the event store.
Parameters
• property: string
property name
• value: undefined
| null
| string
| number
| boolean
| object
property value
Returns
void
Inherited from
M2Node
.savePropertyChangeEvent
Defined in
M2Node.ts:234
start()
start():
Promise
<void
>
Returns
Promise
<void
>
Defined in
SoundRecorder.ts:65
stop()
stop():
Promise
<SoundRecorderResults
>
Returns
Promise
<SoundRecorderResults
>
Defined in
SoundRecorder.ts:122
toString()
toString():
string
Overrides toString() and returns a human-friendly description of the node.
Returns
string
Remarks
Inspiration from https://stackoverflow.com/a/35361695
Inherited from
Defined in
M2Node.ts:326
update()
update():
void
Returns
void
Overrides
Defined in
SoundRecorder.ts:193