Titanium Mobile Rich Media API Guide
What can you do with Rich Media and the Phone?
Video Streaming
Titanium Mobile supports in-application video streaming. For maximum portability, H.264/MPEG-4 video should be used.
Example usage:
var video = Titanium.Media.createVideoPlayer({ contentURL : "movie.mp4"});
var listenerId = video.addEventListener("complete", function()
{
video.removeEventListener('complete', listenerId);
var dlg = Titanium.UI.createAlertDialog({
'title' : 'Video Complete',
'message' : 'video completed',
'buttonNames' : [ 'OK' ]
});
dlg.show();
});
video.play();
In the above example we create a video player and attach an event listener to the player. The listener will fire when the video has completed playing. When the listener is invoked, it will remove the listener from the video player and display and alert with the message video completed. Calling video.play() will cause the video to start playing.
iPhone Video Player Screenshot:

Audio Streaming
Titanium Mobile supports playing and controlling in-application audio content.
var sound = Titanium.Media.createSound('cricket.wav');
var listenerId = sound.addEventListener('complete', function() {
sound.removeEventListener('complete', listenerId);
var dlg = Titanium.UI.createAlertDialog({
'title' : 'Sound Complete',
'message' : 'sound completed',
'buttonNames' : [ 'OK' ]
});
dlg.show();
});
sound.play();
In the above example, a sound player is created with the cricket.wav URL. The complete event listener is attached to the player and will display an alert dialog with the message sound completed when the sound is completed playing. The sound.play() function will cause the media to start playing.
The media player has a number of APIs for controlling capabilities such as the volume, looping and controlling play.
Maps
Titanium Mobile supports maps which can be controlled from your application.
(NOTE: Titanium Mobile for iPhone does not currently support iPhone 3.0 Map Kit).
Titanium Mobile Dev Center