Skip to content

Titanium.Media.MusicPlayer

This object represents a music controller.

A MusicPlayer lets you manage and playback a queue of media Item objects.

To retrieve an instance of a MusicPlayer object, use either the Titanium.Media.appMusicPlayer or the Titanium.Media.systemMusicPlayer property.

Use the Media module's openMusicLibrary and queryMusicLibrary methods to access the media items in the device's media library.

Extends: Titanium.Proxy · Since: 1.4.0 · Platforms: iphone, ipad, macos

Properties #

apiName#

extended

Type: String

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.

bubbleParent#

extended

Type: Boolean

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.

currentPlaybackTime#

Type: Number

Current point in song playback, in seconds.

This property is read/write, so you can update the music player's current position
by setting this property.

lifecycleContainer#

extended

Type: Titanium.UI.Window, Titanium.UI.TabGroup

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.

nowPlaying#

Type: Titanium.Media.Item

An Item object representing the currently playing media item.

playbackState#

Type: Number

Playback state.

repeatMode#

Type: Number

Repeat setting.

shuffleMode#

Type: Number

Shuffle setting.

Methods #

addEventListener #

extended

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

Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
callbackCallback<Titanium.Event>Callback function to invoke when the event is fired.No

applyProperties #

extended

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.

Parameters:
NameTypeSummaryOptional
propsDictionaryA dictionary of properties to apply.No

fireEvent #

extended

Fires a synthesized event to any registered listeners.

Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
eventDictionaryA dictionary of keys and values to add to the Titanium.Event object sent to the listeners.Yes

pause #

Pauses playback of the current media item.

play #

Begins playback of the current media item.

removeEventListener #

extended

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);
Parameters:
NameTypeSummaryOptional
nameStringName of the event.No
callbackCallback<Titanium.Event>Callback function to remove. Must be the same function passed to addEventListener.No

seekBackward #

Begins seeking backward in the currently playing media.

Seeking speed increases as seeking continues.

Call stopSeeking to
return to normal play.

seekForward #

Begins seeking forward in the currently playing media item.

While seeking forward audio plays faster than usual. The speed increases as
seeking continues.

Call stopSeeking to
return to normal play.

setQueue #

Sets the media queue.

Sets the media queue to a single media item or a list of items.

Starting in Titanium 6.1.0 you can also pass a String that identifies
the Media item. This string has to be the Titanium.Media.Item.persistentID
property that identifies a media item uniquely.

Parameters:
NameTypeSummaryOptional
queueTitanium.Media.Item, Array<Titanium.Media.Item>, StringOne or more media items.No

skipToBeginning #

Skips to the beginning of the currently playing media item.

skipToNext #

Skips to the next media item in the queue.

If there are no more media items in the queue, ends playback.

skipToPrevious #

Skips to the previous media item in the queue.

If there are no previous media items in the queue, ends playback.

stop #

Stops playback of the current media queue.

stopSeeking #

Ends a seek operation and returns to the previous playback state.

See also: seekForward and
seekBackward.

Events #

playingchange #

Fired when the currently playing media item changes.

See nowPlaying to identify the current
media item.

statechange #

Fired when the music player's playback state changes.

See playbackState to identify the current
playback state.

Titanium SDK Documentation