Skip to content
Titanium SDK
Version13.0.1

You are reading 13.0.1. See this page in 13.4.1.

Titanium.Media.AudioRecorder

proxyAndroidiPhoneiPadmacOSsince iPhone 0.9, iPad 0.9, Android 6.2.0

Extends Titanium.Proxy

An audio recorder object used for recording audio from the device microphone.

Use the Titanium.Media.createAudioRecorder method to create an audio recorder.

Ensure to request the permissions for audio-recording before starting a new record-session. This can be done by using Titanium.Media.hasAudioRecorderPermissions to check whether audio-permissions are granted and Titanium.Media.requestAudioRecorderPermissions to request audio-permissions.

Android Platform Note: On Android, you also need to include the following permission into the <android> section of the tiapp.xml:

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <manifest>
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
    </manifest>
</android>

Examples

Audio Recorder Example

The following code-example creates a window that controls the audio-recorder flow.

var window = Ti.UI.createWindow({
  backgroundColor: '#fff'
});

var recordStart = Ti.UI.createButton({
  title: 'Start',
  top: 10
});

var recordPause = Ti.UI.createButton({
  title: 'Pause',
  top: 60
});

var recordStop = Ti.UI.createButton({
  title: 'Stop',
  top: 110
});

var recordPlay = Ti.UI.createButton({
  title: 'Play',
  top: 160
});

var audioRecorder = Ti.Media.createAudioRecorder();
var record;
var audioPlayer;

window.addEventListener('open', function(e) {
  if (!Ti.Media.hasAudioRecorderPermissions()) {
    Ti.Media.requestAudioRecorderPermissions(function(e) {
      if (e.success) {
        window.add(recordStart);
      }
    });
  } else {
    window.add(recordStart);
  }
});

recordStart.addEventListener('click', function(e) {
  audioRecorder.start();
});

recordPause.addEventListener('click', function(e) {
  if (audioRecorder.getPaused()) {
    recordPause.title = 'Pause';
    audioRecorder.resume()
  } else {
    recordPause.title = 'Resume';
    audioRecorder.pause();
  }
});

recordStop.addEventListener('click', function(e) {
  record = audioRecorder.stop();
  Ti.API.info(record.nativePath);
});

recordPlay.addEventListener('click', function(e) {
  audioPlayer = Ti.Media.createAudioPlayer({
    url: record.nativePath
  });
  audioPlayer.start();
});

window.add(recordPause);
window.add(recordStop);
window.add(recordPlay);

window.open();

Properties 8

apiName

Stringsince Android 3.2.0, iPhone 3.2.0, iPad 3.2.0, macOS 9.2.0read-only

Inherited from Titanium.Proxy

The name of the API that this proxy corresponds to.

bubbleParent

Booleansince Android 3.0.0, iPhone 3.0.0, iPad 3.0.0, macOS 9.2.0

Inherited from Titanium.Proxy

Indicates if the proxy will bubble an event to its parent.

Default: true

paused

Booleanread-only

Indicates if the audio recorder is paused.

recording

Booleanread-only

Indicates if the audio recorder is recording.

stopped

Booleanread-only

Indicates if the audio recorder is stopped.

Methods 8

Inherited from Titanium.Proxy

Adds the specified callback as an event listener for the named event.

Parameters
ParametersTypeDescription
nameString

Name of the event.

callbackCallback<Titanium.Event>

Callback function to invoke when the event is fired.

4 fields
bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.

source Object

Source object that fired the event.

type String

Name of the event fired.

Inherited from Titanium.Proxy

Fires a synthesized event to any registered listeners.

Parameters
ParametersTypeDescription
nameString

Name of the event.

event?Dictionary

A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.

Pauses the current audio recording.

Inherited from Titanium.Proxy

Removes the specified callback as an event listener for the named event.

Parameters
ParametersTypeDescription
nameString

Name of the event.

callbackCallback<Titanium.Event>

Callback function to remove. Must be the same function passed to addEventListener.

4 fields
bubbles Boolean

True if the event will try to bubble up if possible.

cancelBubble Boolean

Set to true to stop the event from bubbling.

source Object

Source object that fired the event.

type String

Name of the event fired.

Resumes a paused recording.

Starts an audio recording.