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
  • No labels