Page History
Control audio recording on mobile device. Audio file is saved in LMA's logical file system. Maximum audio length depends on the device storage space.
Properties
File
A string value indicates the fully qualified name of the file to record.
CompressionLevel
An integer from 1 to 5 that indicates the level of compression (1 is the lowest compression level, best quality, 5 is highest compression level, lowest quality). Default is 2.
Duration
An integer specifies the max recording duration in seconds. No limit when set to 0.
Methods
Record
Start recording.
- Input Arguments: None
- Output Argument: None.
- Return Value: Status Code
Stop
Stop recording.
- Input Arguments: None
- Output Argument: None.
- Return Value: None.
Events
Started
Triggered when recoding is started.
- Parameters:
Name | Type | Description |
|---|---|---|
Status | Enum | See Status Code |
...
Completed
Triggered when audio recording is finished.
- Parameters:
Name | Type | Description |
|---|---|---|
Status | Enum | See Status Code |
Message | String |
...
RecordFinished
...
Triggered when recoding has reached to duration limit.
- Parameters: None
Code Examples
Define_Com Class(#xDeviceAudioRecord) Name(#AudioRecord)
Evtroutine Handling(#COM_OWNER.Initialize)
...
#Record.Enabled :=
...
false
#Stop.Enabled := false
Endroutine
Evtroutine Handling(#AudioRecord.Initialize)
...
#Record.Enabled :=
...
true
#Stop.Enabled := true
Endroutine
Evtroutine Handling(#Record.Click)
...
#AudioRecord.File := 'MyVoice'
...
#AudioRecord.SampleRate :=
...
44100
#AudioRecord.Channels :=
...
2
#AudioRecord.Record()
Endroutine
Evtroutine Handling(#AudioRecord.Started) Status(#lstatus)
...
If (#lstatus = 'OK')
...
#Status := 'Recording started'
...
Else
#Status := 'Error starting recording: ' + #lstatus
Endif
Endroutine
Evtroutine Handling(#AudioRecord.Completed) Status(#lstatus)
...
Case (#lstatus)
...
When ('= OK')
...
#Status := 'Recording finished'
...
Otherwise
#Status := 'Error with recording: ' + #lstatus
Endcase
Endroutine
Evtroutine Handling(#Stop.Click)
...
#AudioRecord.Stop
Endroutine