Speaker Component - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


DocumentTools[Components]

  

Speaker

  

generate XML for a Speaker Component

 

Calling Sequence

Parameters

Options

Description

Examples

Compatibility

Calling Sequence

Speaker(opts)

Parameters

opts

-

(optional) ; one or more keyword options as described below

Options

• 

enabled : truefalse:=true; Indicates whether the component is enabled. The default value is true. If enabled is false, then the inserted component is grayed out and interaction with it cannot be initiated.

• 

identity : {name,string}; The reference name of the component.

• 

mute : truefalse:=false; Indicates whether the component is initially muted. The default value is false (not muted).

• 

samplerate : posint:=16000; The sample rate at which audio data is played. The default value is 16000.

• 

stereo : truefalse:=false; Indicates whether audio data is played on two channels (true) or on one channel (false). The default value is false.

• 

tooltip : string:=""; The text that appears when the mouse pointer hovers over the component. The default is the empty string (no tooltip).

• 

visible : truefalse:=true; Indicates whether the component is visible. The default is true.

• 

volume : nonnegint:=5; The volume, an integer between 0 and 10. The default value is 5.

Description

• 

The Speaker command in the Component Constructors package returns an XML function call which represents a Speaker Component.

• 

The generated XML can be used with the results of commands in the Layout Constructors package to create an entire Worksheet or Document in XML form. Such a representation of a Worksheet or Document can be inserted into the current document using the InsertContent command.

Examples

withDocumentTools:

withDocumentTools:-Components:

withDocumentTools:-Layout:

Executing the Speaker command produces a function call.

SSpeakeridentity=Speaker0

S_XML_EC-Speakerid=Speaker0,enabled=true,visible=true,samplerate=16000,stereo=false,volume=5,mute=false

(1)

By using commands from the Layout Constructors package a nested function call can be produced which represents a worksheet.

xmlWorksheetGroupInputTextfieldS:

That XML representation of a worksheet can be inserted directly.

InsertContentxml:

 

SSpeakeridentity=Speaker0,tooltip=My speaker,stereo=false:

xmlWorksheetGroupInputTextfieldS:

The previous example's call to the InsertContent command inserted a component with identity "Speaker0", which still exists in this worksheet. Inserting additional content whose input contains another component with that same identity "Speaker0" incurs a substitution of the input identity in order to avoid a conflict with the identity of the existing component.

The return value of the following call to InsertContent is a table which can be used to reference the substituted identity of the inserted component.

lookupInsertContentxml,output=table

lookuptableSpeaker0=Speaker1

(2)

 

lookupSpeaker0

Speaker1

(3)

GetPropertylookupSpeaker0,stereo

false

(4)

For the next example, an audio clip is read in, and its data is stored in an Array. This data Array is then sent to the speaker component.

dataAudioTools:-Readcatkerneloptsdatadir,/audio/MapleSimMono11025.wav

data?

(5)

The speaker component can play audio data at an arbitrary sample rate. The sound clip being used contains its own intended sample rate. The sample rate is the first attribute of the data Array created by the AudioTools:-Read command.

srateattributesdata1

srate11025

(6)

The speaker component's sample rate is set accordingly.

SetPropertylookupSpeaker0,samplerate,srate

The data is now sent to the Speaker component, playing the audio clip.

SetPropertylookupSpeaker0,value,data

Error, (in DocumentTools:-SetProperty) SPEAKER_NOT_AVAILABLE

Compatibility

• 

The DocumentTools:-Components:-Speaker command was introduced in Maple 2015.

• 

For more information on Maple 2015 changes, see Updates in Maple 2015.

See Also

Component Code

Component Constructors

DocumentTools

Embedded Components

Layout Constructors

XMLTools