The top-level Media module.
The Media module is used to access the device's media-related functionality, such as using the device's camera and photo gallery, playing media files, or recording audio or video. For examples of using the Media APIs, refer to the Working with Media APIs guide in addition to the other media submodule API documentation.
Audio file format Audio Interchange File Format (AIFF).
Audio file format Audio Interchange File Format (AIFF).
Audio file format Adaptive Multi-Rate (AMR).
Audio file format Adaptive Multi-Rate (AMR).
Audio file format Apple Compressed Audio Format (CAF).
Audio file format Apple Compressed Audio Format (CAF).
Audio format MPEG4 AAC encoding.
Audio format MPEG4 AAC encoding.
Audio format 8-bit aLaw encoding.
Audio format 8-bit aLaw encoding.
Audio format Apple lossless encoding.
Audio format Apple lossless encoding.
Audio format Apple IMA4 encoding.
Audio format Apple IMA4 encoding.
Audio format 16-bit, linear PCM encoding.
Audio format 16-bit, linear PCM encoding.
Audio format 8-bit muLaw encoding.
Audio format 8-bit muLaw encoding.
Line-type constant for headphones.
Line-type constant for headphones.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant for headphones and microphone.
Line-type constant for headphones and microphone.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant for headset in/out.
Line-type constant for headset in/out.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant for line-out.
Line-type constant for line-out.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant for microphone.
Line-type constant for microphone.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant indicated mute switch is on.
Line-type constant indicated mute switch is on.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant indicating receiver and microphone.
Line-type constant indicating receiver and microphone.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
For long-duration sounds such as rain, car engine noise, and so on.
For long-duration sounds such as rain, car engine noise, and so on.
Also used for for 'play along' style applications, such a virtual piano that a user plays over iPod audio.
See also: AUDIO_SESSION_CATEGORY_SOLO_AMBIENT.
Session mode for playing recorded music or other sounds that are central to the successful use of your application.
Session mode for playing recorded music or other sounds that are central to the successful use of your application.
When using this mode, your application audio continues with the Ring/Silent switch set to silent or when the screen locks. This property normally disallows mixing iPod audio with application audio.
Session mode for recording (input) and playback (output) of audio, such as for a VOIP (voice over IP) application.
Session mode for recording (input) and playback (output) of audio, such as for a VOIP (voice over IP) application.
This category is appropriate for simultaneous recording and playback, and also for applications that record and play back but not simultaneously. If you want to ensure that sounds such as Messages alerts do not play while your application is recording, use AUDIO_SESSION_CATEGORY_RECORD instead. This category normally disallows mixing iPod audio with application audio.
In this mode, by default audio playback is routed to the speaker in the iPhone receiver. To have audio playback through the iPhone speaker, use setOverrideAudioRoute.
Session mode for recording audio; it silences playback audio.
Session mode for recording audio; it silences playback audio.
Session mode for long-duration sounds such as rain, car engine noise, and so on.
Session mode for long-duration sounds such as rain, car engine noise, and so on.
When you use this category, audio from built-in applications, such as the iPod,
is silenced. Your audio is silenced when the Ring/Silent switch is set to silent
or when the screen locks.
To use long-duration sounds without silencing built-in applications, see AUDIO_SESSION_CATEGORY_AMBIENT.
For long-duration sounds such as rain, car engine noise, and so on.
For long-duration sounds such as rain, car engine noise, and so on.
This property has been removed since 6.0.0
Deprecated in favor of the AUDIO_SESSION_CATEGORY
constants defined in <Titanium.Media>.
Also used for for 'play along' style applications, such a virtual piano that a user plays over iPod audio.
See also: AUDIO_SESSION_MODE_SOLO_AMBIENT.
Session mode for playing recorded music or other sounds that are central to the successful use of your application.
Session mode for playing recorded music or other sounds that are central to the successful use of your application.
This property has been removed since 6.0.0
Deprecated in favor of the AUDIO_SESSION_CATEGORY
constants defined in <Titanium.Media>.
When using this mode, your application audio continues with the Ring/Silent switch set to silent or when the screen locks. This property normally disallows mixing iPod audio with application audio.
Session mode for recording (input) and playback (output) of audio, such as for a VOIP (voice over IP) application.
Session mode for recording (input) and playback (output) of audio, such as for a VOIP (voice over IP) application.
This property has been removed since 6.0.0
Deprecated in favor of the AUDIO_SESSION_CATEGORY
constants defined in <Titanium.Media>.
This category is appropriate for simultaneous recording and playback, and also for applications that record and play back but not simultaneously. If you want to ensure that sounds such as Messages alerts do not play while your application is recording, use AUDIO_SESSION_CATEGORY_RECORD instead. This category normally disallows mixing iPod audio with application audio.
In this mode, by default audio playback is routed to the speaker in the iPhone receiver. To have audio playback through the iPhone speaker, use setOverrideAudioRoute.
Session mode for recording audio; it silences playback audio.
Session mode for recording audio; it silences playback audio.
This property has been removed since 6.0.0
Deprecated in favor of the AUDIO_SESSION_CATEGORY_*
constants defined in <Titanium.Media>.
Session mode for long-duration sounds such as rain, car engine noise, and so on.
deprecated since 3.4.2
Deprecated in favor of the AUDIO_SESSION_CATEGORY
constants defined in <Titanium.Media>.
When you use this category, audio from built-in applications, such as the iPod,
is silenced. Your audio is silenced when the Ring/Silent switch is set to silent
or when the screen locks.
To use long-duration sounds without silencing built-in applications, see AUDIO_SESSION_MODE_AMBIENT.
Constant that specifies audio should output to the default audio route. See setOverrideAudioRoute for more information.
Constant that specifies audio should output to the speaker. See setOverrideAudioRoute for more information.
Constant for output on a remote Air Play device. This is an output port.
Constant for output on a Bluetooth A2DP device. This is an output port.
Constant for input or output on a Bluetooth Hands-Free Profile device. This can be both an input and output port.
Constant for output on a Bluetooth Low Energy device. This is an output port. This is available on iOS7 and later.
Requires: iOS 7.0 and later
Constant for built-in microphone on an iOS device. This is an input port.
Constant for the speaker you hold to your ear when on a phone call. This is an output port.
Constant for built-in speaker on an iOS device. This is an output port.
Constant for Input or output via Car Audio. This can be both an input and output port. This is available on iOS7 and later.
Requires: iOS 7.0 and later
Constant for output via High-Definition Multimedia Interface. This is an output port
Constant for headphone or headset output. This is an output port.
Constant for microphone on a wired headset. This is an input port.
Constant for line level input on a dock connector. This is an input port.
Constant for line level output on a dock connector. This is an output port.
Constant for input or output on a Universal Serial Bus device. This can be both an input and output port.
Line-type constant for speaker output.
deprecated since 3.4.2
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant indicating that audio is unavailable.
Line-type constant indicating that audio is unavailable.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Line-type constant indicating that line-type is unknown or not determined.
Line-type constant indicating that line-type is unknown or not determined.
This property has been removed since 3.6.0
Deprecated in favor of the AUDIO_SESSION_PORT
constants defined in <Titanium.Media>.
Constant specifying that app is authorized to use camera. This is available on iOS7 and later.
Requires: iOS 7.0 and later
Constant specifying that app is denied usage of camera. This is available on iOS7 and later.
Requires: iOS 7.0 and later
Constant specifying that app is not yet authorized to use camera. This is available on iOS7 and later.
This property has been removed
7.0.0 Use <Titanium.Media.CAMERA_AUTHORIZATION_UNKNOWN> instead.
Requires: iOS 7.0 and later
Constant specifying that app is restricted from using camera. This is available on iOS7 and later.
Requires: iOS 7.0 and later
Constant specifying that app is not yet authorized to use camera. This is available on iOS7 and later.
Requires: iOS 7.0 and later
Constant specifying to have the device determine to use the flash or not.
Constant specifying to have the device determine to use the flash or not.
Constant specifying to never fire the flash.
Constant specifying to never fire the flash.
Constant specifying to always fire the flash.
Constant specifying to always fire the flash.
Constant specifying the front camera.
Constant specifying the front camera.
Constant indicating the rear camera.
Constant indicating the rear camera.
Constant for media device busy error.
Constant for media device busy error.
Media type constant for live photo media.
Requires: iOS 9.1 and later
Media type constant for photo media.
Media type constant for photo media.
Media type constant for video media.
Media type constant for video media.
Constant for grouping query results by album.
Constant value:1
Constant for grouping query results by album and artist.
Constant value:3
Constant for grouping query results by artist.
Constant value:2
Constant for grouping query results by composer.
Constant value:4
Constant for grouping query results by genre.
Constant value:5
Constant for grouping query results by playlist.
Constant value:6
Constant for grouping query results by podcast title.
Constant value:7
Constant for grouping query results by title.
Constant for grouping query results by title.
Music library media containing any type of content.
Music library media containing any type of content.
Music library media containing any type of audio content.
Music library media containing any type of audio content.
Music library media containing audiobook content.
Music library media containing audiobook content.
Music library media containing music content.
Music library media containing music content.
Music library media containing podcast content.
Music library media containing podcast content.
Constant for "Repeat All" setting.
Constant for "Repeat All" setting.
Constant for user's default repeat setting.
Constant for user's default repeat setting.
Constant for "No Repeat" setting.
Constant for "No Repeat" setting.
Constant for "Repeat one item" setting.
Constant for "Repeat one item" setting.
Constant for shuffling complete albums setting.
Constant for shuffling complete albums setting.
Constant for user's default shuffle setting.
Constant for user's default shuffle setting.
Constant for "no shuffle" setting.
Constant for "no shuffle" setting.
Constant for shuffling songs setting.
Constant for shuffling songs setting.
Constant for interrupted state.
Constant for interrupted state.
Constant for paused state.
Constant for paused state.
Constant for playing state.
Constant for playing state.
Constant for backward seek state.
Constant for backward seek state.
Constant for forward seek state.
Constant for forward seek state.
Constant for stopped state.
Constant for stopped state.
Media type constant for medium-quality video recording.
Media type constant for medium-quality video recording.
If recording, specifies that you want to use VGA-quality video recording (pixel dimensions of 640x480).
Media type constant for high-quality video recording.
Media type constant for high-quality video recording.
Recorded files are suitable for on-device playback and for wired transfer to the Desktop using Image Capture; they are likely to be too large for transfer using Wi-Fi.
Media type constant for medium-quality video recording.
Media type constant for medium-quality video recording.
If recording, specifies that you want to use 1280x720 iFrame format.
Media type constant for medium-quality video recording.
Media type constant for medium-quality video recording.
If recording, specifies that you want to use 960x540 iFrame format.
Media type constant for low-quality video recording.
Media type constant for low-quality video recording.
Recorded files can usually be transferred over the cellular network.
Media type constant for medium-quality video recording.
Media type constant for medium-quality video recording.
Recorded files can usually be transferred using Wi-Fi. This is the default video quality setting.
Constant for default video controls.
Constant for default video controls.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Used in conjunction with the mediaControlStyle property of Titanium.Media.VideoPlayer.
Constant for video controls for an embedded view.
Constant for video controls for an embedded view.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Used in conjunction with the mediaControlStyle property of Titanium.Media.VideoPlayer.
On Android, this constant has the same effect as VIDEO_CONTROL_DEFAULT. Video controls may only be shown or hidden.
Constant for fullscreen video controls.
Constant for fullscreen video controls.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Used in conjunction with the mediaControlStyle property of Titanium.Media.VideoPlayer.
On iOS, use VIDEO_CONTROL_FULLSCREEN when creating a video player that occupies the entire
screen, that is, the parent window should be a fullscreen window
(fullscreen set to true
) and the video player should
occupy the entirety of the parent window.
If the user clicks the Done button in the fullscreen control bar, the video player pauses playback and generates a complete event.
Note that if you create a video player that does not occupy the entire screen, and later
switch to fullscreen mode, the video controls are switched automatically. That is, if
mediaControlStyle
is set to VIDEO_CONTROL_DEFAULT or VIDEO_CONTROL_EMBEDDED, it is
automatically switched to the fullscreen controls when the player enters fullscreen mode.
This is true whether the user initiates the mode switch by clicking the fullscreen button
in the embedded controls, or if you programmatically switch to full screen mode (by setting
the fullscreen
property to true).
On Android, this constant has the same effect as VIDEO_CONTROL_DEFAULT. Video controls may only be shown or hidden.
Constant for video controls hidden.
Constant for video controls hidden.
Used in conjunction with the mediaControlStyle property of Titanium.Media.VideoPlayer.
Constant for no video controls.
Constant for no video controls.
Used in conjunction with the mediaControlStyle property of Titanium.Media.VideoPlayer.
Constant for video controls volume only.
Constant for video controls volume only.
This property has been removed since 6.0.0
Use <Titanium.Media.VIDEO_CONTROL_EMBEDDED> instead.
Video playback ended normally.
Video playback ended normally.
Video playback ended abnormally.
Video playback ended abnormally.
Video playback ended by user action (such as clicking the Done
button).
Video playback ended by user action (such as clicking the Done
button).
Indicates that the player can no longer play media items because of an error.
Indicates that the player can no longer play media items because of an error.
Playback will be automatically started in this state when autoplay
is true.
Playback will be automatically started in this state when autoplay
is true.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Playback will be automatically paused in this state, if started.
Playback will be automatically paused in this state, if started.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Current load state is not known.
Current load state is not known.
A audio type of media in the movie returned by Titanium.Media.VideoPlayer mediaTypes
property.
A audio type of media in the movie returned by Titanium.Media.VideoPlayer mediaTypes
property.
This property has been removed since 7.0.0
This property has been removed in Titanium SDK 7.0.0 as of the official deprecation by Apple.
An unknown type of media in the movie returned by Titanium.Media.VideoPlayer mediaTypes
property.
An unknown type of media in the movie returned by Titanium.Media.VideoPlayer mediaTypes
property.
This property has been removed since 7.0.0
This property has been removed in Titanium SDK 7.0.0 as of the official deprecation by Apple.
A video type of media in the movie returned by Titanium.Media.VideoPlayer mediaTypes
property.
A video type of media in the movie returned by Titanium.Media.VideoPlayer mediaTypes
property.
This property has been removed since 7.0.0
This property has been removed in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Video playback has been interrupted.
Video playback has been interrupted.
Video playback is rewinding.
Video playback is rewinding.
This property has been removed since 7.0.0
This constant has been removed on iOS by using the official Apple AVPlayer that does not expose this functionality so far.
Video playback is seeking forward.
Video playback is seeking forward.
This property has been removed since 7.0.0
This constant has been removed on iOS by using the official Apple AVPlayer that does not expose this functionality so far.
Constant for disabling repeat on video playback.
Constant for disabling repeat on video playback.
Constant for repeating one video (i.e., the one video will repeat constantly) during playback.
Constant for repeating one video (i.e., the one video will repeat constantly) during playback.
Scale video to fill the screen, clipping edges if necessary.
Scale video to fill the screen, clipping edges if necessary.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Video is scaled until the video fills the entire screen. Content at the edges of the larger of the two dimensions is clipped so that the other dimension fits the screen exactly. The aspect ratio of the movie is preserved.
Scale video to fit the screen, letterboxing if necessary.
Scale video to fit the screen, letterboxing if necessary.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Video is scaled until the larger dimension fits on the screen exactly. In the other dimension, the region between the edge of the movie and the edge of the screen is filled with a black bar. The aspect ratio of the movie is preserved.
Video is scaled until both dimensions fit the screen exactly, stretching if necessary.
Video is scaled until both dimensions fit the screen exactly, stretching if necessary.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
The aspect ratio of the video is not preserved.
Video scaling is disabled.
Video scaling is disabled.
This property has been removed since 7.0.0
This property has been removed for iOS in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Specifies that the video should be stretched to fill the bounds of layer.
Specifies that the video should be stretched to fill the bounds of layer.
Specifies that the player should preserve the aspect ratio of video and fit the video within the bounds of layer.
Specifies that the player should preserve the aspect ratio of video and fit the video within the bounds of layer.
Specifies that the player should preserve the aspect ratio of video and fill the bounds of layer.
Specifies that the player should preserve the aspect ratio of video and fill the bounds of layer.
Video source type is a file.
Video source type is a file.
This property has been removed since 7.0.0
This property has been removed in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Related to the sourceType
property of Titanium.Media.VideoPlayer.
Video source type is a remote stream.
Video source type is a remote stream.
This property has been removed since 7.0.0
This property has been removed in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Related to the sourceType
property of Titanium.Media.VideoPlayer
Video source type is unknown.
Video source type is unknown.
This property has been removed since 7.0.0
This property has been removed in Titanium SDK 7.0.0 as of the official deprecation by Apple.
Related to the sourceType
property of Titanium.Media.VideoPlayer
Use the closest sync (or key) frame at given the time.
Use the closest sync (or key) frame at given the time.
Use the closest keyframe in the time.
Use the closest keyframe in the time.
Use the sync (or key) frame located right after or at given the time.
Use the sync (or key) frame located right after or at given the time.
Use the sync (or key) frame located right before or at given the time.
Use the sync (or key) frame located right before or at given the time.
The name of the API that this proxy corresponds to.
The name of the API that this proxy corresponds to.
The value of this property is the fully qualified name of the API. For example, Button
returns Ti.UI.Button
.
An instance of Titanium.Media.MusicPlayer representing the app-specific music player.
An instance of Titanium.Media.MusicPlayer representing the app-specific music player.
Returns the line type constant for the current line type.
Returns the line type constant for the current line type.
This property has been removed since 3.6.0
Use <Titanium.Media.currentRoute> instead.
Returns true
if the device is playing audio.
Returns true
if the device is playing audio.
A constant for the audio session category to be used.
A constant for the audio session category to be used.
Set to one of the AUDIO_SESSION_CATEGORY
constants defined in Titanium.Media.
Must be set while the audio session is inactive (no sounds are playing, no listeners for audio properties on the Media module, but the iPod may be active).
This API can be assigned the following constants:
A constant for the audio session mode to be used.
A constant for the audio session mode to be used.
This property has been removed since 6.0.0
Use <Titanium.Media.audioSessionCategory> instead.
Set to one of the AUDIO_SESSION_MODE
constants defined in Titanium.Media.
Must be set while the audio session is inactive (no sounds are playing, no listeners for audio properties on the Media module, but the iPod may be active).
This API can be assigned the following constants:
Array of media type constants supported for the camera.
This API can be assigned the following constants:
Array indicating which cameras are available, CAMERA_FRONT
, CAMERA_REAR
or both.
This API can be assigned the following constants:
Array of media type constants supported for saving to the device's camera roll or saved images album.
This API can be assigned the following constants:
Array of media type constants supported for the photo library.
This API can be assigned the following constants:
Current average microphone level in dB or -1 if microphone monitoring is disabled.
Current average microphone level in dB or -1 if microphone monitoring is disabled.
See startMicrophoneMonitor, stopMicrophoneMonitor.
Indicates if the proxy will bubble an event to its parent.
Some proxies (most commonly views) have a relationship to other proxies, often established by the add() method. For example, for a button added to a window, a click event on the button would bubble up to the window. Other common parents are table sections to their rows, table views to their sections, and scrollable views to their views. Set this property to false to disable the bubbling to the proxy's parent.
Default: true
Returns the authorization status for the camera.
Requires: iOS 7.0 and later
This API can be assigned the following constants:
Returns the authorization status for the camera.
deprecated
5.2.0 Use <Titanium.Media.cameraAuthorization> instead.
Requires: iOS 7.0 and later
This API can be assigned the following constants:
Determines how the flash is fired when using the device's camera.
This API can be assigned the following constants:
Default: Titanium.Media.CAMERA_FLASH_AUTO
true
if the device has a recording input device available.
true
if the device has a recording input device available.
Returns a description of the current route, consisting of zero or more input ports and zero or more output ports.
Returns a description of the current route, consisting of zero or more input ports and zero or more output ports.
true
if the device has camera support.
true
if the device has camera support.
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks will also be called on the proxy. Proxies that require the activity lifecycle will need this property set to the appropriate containing Window or TabGroup.
Current microphone level peak power in dB or -1 if microphone monitoring is disabled.
Current microphone level peak power in dB or -1 if microphone monitoring is disabled.
See startMicrophoneMonitor, stopMicrophoneMonitor.
An instance of Titanium.Media.MusicPlayer representing the system-wide music player.
An instance of Titanium.Media.MusicPlayer representing the system-wide music player.
Current volume of the playback device.
Current volume of the playback device.
Adds the specified callback as an event listener for the named event.
Name of the event.
Callback function to invoke when the event is fired.
Applies the properties to the proxy.
Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that myproxy[key] = value.
A dictionary of properties to apply.
Creates and returns an instance of Titanium.Media.AudioPlayer.
Properties to set on a new object, including any defined by Titanium.Media.AudioPlayer except those marked not-creation or read-only.
Creates and returns an instance of Titanium.Media.AudioRecorder.
Properties to set on a new object, including any defined by Titanium.Media.AudioRecorder except those marked not-creation or read-only.
Creates and returns an instance of Titanium.Media.Sound.
Properties to set on a new object, including any defined by Titanium.Media.Sound except those marked not-creation or read-only.
Creates and returns an instance of Titanium.Media.SystemAlert.
Properties to set on a new object, including any defined by Titanium.Media.SystemAlert except those marked not-creation or read-only.
Creates and returns an instance of Titanium.Media.VideoPlayer.
Properties to set on a new object, including any defined by Titanium.Media.VideoPlayer except those marked not-creation or read-only.
Fires a synthesized event to any registered listeners.
Name of the event.
A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.
Gets the value of the audioLineType property.
This method has been removed since 3.6.0
Use <Titanium.Media.currentRoute> instead.
Gets the value of the audioSessionMode property.
This method has been removed since 6.0.0
Use <Titanium.Media.audioSessionCategory> instead.
Gets the value of the cameraAuthorizationStatus property.
deprecated since 5.2.0
Use <Titanium.Media.cameraAuthorization> instead.
Returns true
if the app has audio permissions.
deprecated since 6.1.0
Use <Titanium.Media.hasAudioRecorderPermissions> instead.
On iOS 7.0, recording audio requires explicit permission from the user. After the user grants or denies permission, the system remembers the choice for future use in the same app. If permission is not granted, or if the user has not yet responded to the permission prompt, any audio recording sessions record only silence.
In addition, Apple introduced the Info.plist key NSMicrophoneUsageDescription
that is used to display an
own description while authorizing microphone permissions. In iOS 10, this key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Returns true
if the app has audio permissions.
On iOS 7.0, recording audio requires explicit permission from the user. After the user grants or denies permission, the system remembers the choice for future use in the same app. If permission is not granted, or if the user has not yet responded to the permission prompt, any audio recording sessions record only silence.
In addition, Apple introduced the Info.plist key NSMicrophoneUsageDescription
that is used to display an
own description while authorizing microphone permissions. In iOS 10, this key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Returns true
if the app has camera access.
Returns true
if the app has camera access.
Music-library permissions are only needed in iOS 9.3 and later and will be ignored on older
iOS versions. Because of that, the method will return true
for devices that run iOS < 9.3.
Returns true
if the app has photo gallery permissions.
Hides the device camera UI.
Must be called after calling showCamera
and only when autohide
is set to false
.
This method causes the media capture UI to be hidden.
Hides the music library.
Must be called after calling openMusicLibrary
and only when autohide
is set to false
.
Returns true
if the source supports the specified media type.
You can query whether a given media type is supported by the device's
camera (source
== 'camera') or photo library (source
== 'photo').
An additional value, photogallery
can be used to query the media
supported by the device's camera roll or saved image album, which is a
subset of the iOS photo library. However, when calling
openPhotoGallery on iOS, the entire
library is displayed, and there is currently no way to restrict the
gallery to show only the camera roll/saved images album.
Media source specified as a string: camera
for Camera or photo
for Photo Library.
Media type to check.
This API can be assigned the following constants:
Shows the music library and allows the user to select one or more tracks.
If autohide
is set to false
, you must hide the library explicitly using
hideMusicLibrary.
A dictionary of options as described in MusicLibraryOptionsType.
Opens the photo gallery image picker.
In iOS 6, Apple introduced the Info.plist key NSPhotoLibraryUsageDescription
that is used to display an
own description while authorizing gallery permissions. In iOS 10, this key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Photo gallery options as described in PhotoGalleryOptionsType.
Displays the given image.
Dictionary containing the image and callback functions.
Searches the music library for items matching the specified search predicates.
Use hasMusicLibraryPermissions to check the granted permissions and
requestMusicLibraryPermissions to request the permissions. This is especially important
when running on an iOS 10 device, because the music-library access will crash without having the privacy-key
NSAppleMusicUsageDescription
that is specified in requestMusicLibraryPermissions.
The query object to extract information from.
Removes the specified callback as an event listener for the named event.
Multiple listeners can be registered for the same event, so the
callback
parameter is used to determine which listener to remove.
When adding a listener, you must save a reference to the callback function in order to remove the listener later:
var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);
To remove the listener, pass in a reference to the callback function:
window.removeEventListener('click', listener);
Name of the event.
Callback function to remove. Must be the same function passed to addEventListener
.
Request the user's permission for audio recording.
deprecated since 6.1.0
Use <Titanium.Media.requestAudioRecorderPermissions> instead.
On iOS 7.0, recording audio requires explicit permission from the user. After the user grants or denies permission, the system remembers the choice for future use in the same app. If permission is not granted, or if the user has not yet responded to the permission prompt, any audio recording sessions record only silence.
In addition, Apple introduced the Info.plist key NSMicrophoneUsageDescription
that is used to display an
own description while authorizing microphone permissions. In iOS 10, this key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Callback function to execute when the users responds to the authorization alert.
Request the user's permission for audio recording.
On iOS 7.0, recording audio requires explicit permission from the user. After the user grants or denies permission, the system remembers the choice for future use in the same app. If permission is not granted, or if the user has not yet responded to the permission prompt, any audio recording sessions record only silence.
In addition, Apple introduced the Info.plist key NSMicrophoneUsageDescription
that is used to display an
own description while authorizing microphone permissions. In iOS 10, this key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Callback function to execute when the users responds to the authorization alert.
Request the user's permission for audio recording.
deprecated since 5.1.0
Use <Titanium.Media.requestAudioRecorderPermissions> instead.
On iOS 7.0, recording audio requires explicit permission from the user. After the user grants or denies permission, the system remembers the choice for future use in the same app. If permission is not granted, or if the user has not yet responded to the permission prompt, any audio recording sessions record only silence.
In addition, Apple introduced the Info.plist key NSMicrophoneUsageDescription
that is used to display an
own description while authorizing microphone permissions. In iOS 10, this key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Callback function to execute when the users responds to the authorization alert.
Requests for camera access.
deprecated
5.1.0 Please use <Titanium.Media.requestCameraPermissions> instead.
Requires: iOS 7.0 and later
This method allows the app to request for camera access, before or without the user granting it in showCamera. The request view will only show if user has not yet made a decision. If he has, the callback will return his earlier decision, and if any changes has to be made, the user has to change it in the device settings.
Function to call upon user decision to grant camera access.
Requests for camera access.
Requires: iOS 7.0 and later
On Android, the request view will show if the permission is not accepted by the user, and the user did not check the box "Never ask again" when denying the request. If the user checks the box "Never ask again," the user has to manually enable the permission in device settings.
This method requests Manifest.permission.CAMERA
on Android. If you require other permissions, you can also
use Titanium.Android.requestPermissions.
In iOS 6, Apple introduced the Info.plist key NSCameraUsageDescription
that is used to display an
own description while authorizing camera permissions. In iOS 10, this key is mandatory when taking a photo
and the application will crash if your app does not include the key. Check the Apple docs
for more information. When using the camera to take a video, you also need the NSMicrophoneUsageDescription
key.
In addition, the authorization dialog will only show if user has not made a decision, yet.
If the user has, the callback will return the earlier decision. To change the permission the user needs to
change it in the device settings.
Function to call upon user decision to grant camera access.
Request permissions for the native music-library.
Music-library permissions are only needed in iOS 9.3 and later and will be ignored on older
iOS versions. Because of that, the callback will ignore the permission-check and always return
{success: true}
for devices that run iOS < 9.3.
Important: On iOS 10, Apple introduced the Info.plist key NSAppleMusicUsageDescription
that is used to
display an own description while authorizing the music library. This key is mandatory and the application
will crash if your app does not include the key. Check the Apple docs
for more information.
Function to call upon user decision to grant camera access.
Requests for photo gallery permissions.
Requires: iOS 8.0 and later
In iOS 6, Apple introduced the Info.plist key NSPhotoLibraryUsageDescription
that is used to display an
own description while authorizing photo gallery permissions. In iOS 10, this key is mandatory when accessing the
photo gallery and the application will crash if your app does not include the key. Check the Apple docs
for more information. If the user has, the callback will return the earlier decision. To change the permission the
user needs to change it in the device settings.
This API is available in iOS 8 and later. Earlier versions of iOS, as well as apps that do not include this method, will present the system-dialog while the dialog is opened with openPhotoGallery.
Function to call upon user decision to grant camera access.
Saves media to the device's photo gallery / camera roll.
This operation is asynchronous. The caller can supply callbacks to be triggered when the save operation completes.
Media can be passed as either a Blob
object or a File
object. If the media
argument
is not one of these types, an error is generated.
Note that when passing a file (or a blob created from a file), the file name must
have the appropriate extension for the data--for example, image.jpg
or video1.mov
work,
but video1.tmp
does not. Currently, the .mp4
extension is not supported, but MP4
files may be imported by saving them with the .mov
extension.
On Android this method only supports saving images to the device gallery prior to Titanium SDK 6.1.0.
Media to save to the camera roll or media gallery.
Pass a dictionary with the following supported keys: success
a function that
will be called when the save succeeds, and error
a function that will be
called upon receiving an error.
Sets the value of the audioSessionCategory property.
New value for the property.
Sets the value of the audioSessionMode property.
This method has been removed since 6.0.0
Use <Titanium.Media.audioSessionCategory> instead.
New value for the property.
Sets the value of the availableCameraMediaTypes property.
New value for the property.
Sets the value of the availablePhotoGalleryMediaTypes property.
New value for the property.
Sets the value of the availablePhotoMediaTypes property.
New value for the property.
Sets the value of the averageMicrophonePower property.
New value for the property.
Sets the value of the bubbleParent property.
New value for the property.
Sets the value of the cameraFlashMode property.
New value for the property.
Sets the value of the lifecycleContainer property.
New value for the property.
Overrides the default audio route when using the AUDIO_SESSION_CATEGORY_PLAY_AND_RECORD session mode.
By default, when using the AUDIO_SESSION_CATEGORY_PLAY_AND_RECORD session mode, the audio output is routed to the speaker in the receiver. This method lets you specify that audio should be routed to the built-in speaker.
If you override the audio route while audio is playing the changes won't not take effect until the audio is restarted.
The specified audio route.
This API can be assigned the following constants:
Shows the camera.
By default, the native camera controls are displayed. To add your own camera controls,
you can add an overlay view by setting the overlay
property on the options
argument.
To suppress the default controls, set autohide
to false
and then set the
overlay
property to a view that contains a control (such as a button) to
take the photo. You must then control the camera explicitly, using
the takePicture and hideCamera
methods.
To suppress the default controls, set showControls
and autohide
to false
.
If the showControls
option is false
, you must control the camera explicitly, using
the takePicture and hideCamera
methods.
Images taken with the camera will not have accurate geolocation data embedded in the images; the latitude and longitude will be set to '0'. This is not an error, but a limitation which Apple has put on the camera API.
Important: Use hasCameraPermissions and requestCameraPermissions to ask for camera permissions. This is especially important when running on iOS 10 and later, since the application may crash otherwise.
A dictionary of camera options as described in CameraOptionsType.
Starts monitoring the microphone sound level.
Starts video capture using the camera specified.
Stops monitoring the microphone sound level.
Stops video capture using the camera specified.
Switches between front and rear-facing cameras. Make sure to set one of the below constants to determine the camera you want to switch to.
In Android, this can only be called when using a custom overlay (see showCamera).
Constant indicating to which camera you want to switch.
This API can be assigned the following constants:
Uses the device camera to capture a photo.
Must be called after calling showCamera
and only when autohide
is set to false
.
This method causes the media capture device to capture a photo and call the
success
callback.
Takes a screen shot of the visible UI on the device.
This method is asynchronous. The screenshot is returned in the callback argument.
The callback argument's media
property contains the screenshot image as a
Blob object.
Function to call upon capture.
Makes the device vibrate.
On Android, a pattern
argument can be provided to specify a
vibration pattern.
The pattern
is an array of Number values. Each number in the array is
interpreted as a duration in milliseconds. The first number is the delay
before the pattern starts, and the remaining numbers are interpreted as
alternating periods of on and off times. For example, the following pattern:
[ 0, 500, 100, 500, 100, 500 ]
Would cause the vibration to start immediately (delay = 0), and perform three long vibrations (500 ms) separated by short pauses (100ms).
Array of values identifying a vibrate pattern (only used on Android).
Fires when the camera overlay is ready to take pictures.
Source object that fired the event.
Name of the event fired.
True if the event will try to bubble up if possible.
Set to true to stop the event from bubbling.
Fired when an audio line type change is detected.
deprecated since 3.4.2
Titanium no longer fires this event. Use the <Titanium.Media.routechange> event instead.
Source object that fired the event.
Name of the event fired.
True if the event will try to bubble up if possible.
Set to true to stop the event from bubbling.
Fired when the availablity of recording input changes.
deprecated since 3.4.2
Titanium no longer fires this event. Use the <Titanium.Media.canRecord> property to check if an input hardware is available.
Indicates whether the recording device is available.
Source object that fired the event.
Name of the event fired.
True if the event will try to bubble up if possible.
Set to true to stop the event from bubbling.
Fired when an audio line type change is detected.
The reason for route change.
Returns a description of the old route, consisting of zero or more input ports and zero or more output ports.
Returns a description of the current route, consisting of zero or more input ports and zero or more output ports.
Source object that fired the event.
Name of the event fired.
True if the event will try to bubble up if possible.
Set to true to stop the event from bubbling.
Fired when the volume output changes.
New volume level in dB.
Source object that fired the event.
Name of the event fired.
True if the event will try to bubble up if possible.
Set to true to stop the event from bubbling.