You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by mw...@apache.org on 2012/09/13 22:13:12 UTC

[5/9] Version 2.1.0

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/geolocation.clearWatch.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/geolocation.clearWatch.md b/docs/en/2.1.0/cordova/geolocation/geolocation.clearWatch.md
new file mode 100644
index 0000000..2ad51d0
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/geolocation.clearWatch.md
@@ -0,0 +1,118 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+geolocation.clearWatch
+======================
+
+Stop watching for changes to the device's location referenced by the `watchID` parameter.
+
+    navigator.geolocation.clearWatch(watchID);
+
+Parameters
+----------
+
+- __watchID:__ The id of the `watchPosition` interval to clear. (String)
+
+Description
+-----------
+
+`geolocation.clearWatch` stops watching changes to the device's location by clearing the `geolocation.watchPosition` referenced by `watchID`.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+- Bada 1.2 & 2.x
+- webOS
+- Tizen
+
+Quick Example
+-------------
+
+    // Options: watch for changes in position, and use the most
+    // accurate position acquisition method available.
+    //
+    var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { enableHighAccuracy: true });
+
+    // ...later on...
+
+    navigator.geolocation.clearWatch(watchID);
+
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Device Properties Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        var watchID = null;
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            // Get the most accurate position updates available on the
+            // device.
+            var options = { enableHighAccuracy: true };
+            watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
+        }
+    
+        // onSuccess Geolocation
+        //
+        function onSuccess(position) {
+            var element = document.getElementById('geolocation');
+            element.innerHTML = 'Latitude: '  + position.coords.latitude      + '<br />' +
+                                'Longitude: ' + position.coords.longitude     + '<br />' +
+                                '<hr />'      + element.innerHTML;
+        }
+
+        // clear the watch that was started earlier
+        // 
+        function clearWatch() {
+            if (watchID != null) {
+                navigator.geolocation.clearWatch(watchID);
+                watchID = null;
+            }
+        }
+    
+	    // onError Callback receives a PositionError object
+	    //
+	    function onError(error) {
+	      alert('code: '    + error.code    + '\n' +
+	            'message: ' + error.message + '\n');
+	    }
+
+        </script>
+      </head>
+      <body>
+        <p id="geolocation">Watching geolocation...</p>
+    	<button onclick="clearWatch();">Clear Watch</button>     
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/geolocation.getCurrentPosition.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/geolocation.getCurrentPosition.md b/docs/en/2.1.0/cordova/geolocation/geolocation.getCurrentPosition.md
new file mode 100644
index 0000000..439f0af
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/geolocation.getCurrentPosition.md
@@ -0,0 +1,127 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+geolocation.getCurrentPosition
+==============================
+
+Returns the device's current position as a `Position` object.
+
+    navigator.geolocation.getCurrentPosition(geolocationSuccess, 
+                                             [geolocationError], 
+                                             [geolocationOptions]);
+
+Parameters
+----------
+
+- __geolocationSuccess__: The callback that is called with the current position.
+- __geolocationError__: (Optional) The callback that is called if there was an error.
+- __geolocationOptions__: (Optional) The geolocation options.
+
+Description
+-----------
+
+`geolocation.getCurrentPositon` is an asynchronous function. It returns the device's current position to the `geolocationSuccess` callback with a `Position` object as the parameter.  If there is an error, the `geolocationError` callback is invoked with a `PositionError` object.
+
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+- Bada 1.2 & 2.x
+- webOS
+- Tizen
+
+Quick Example
+-------------
+
+    // onSuccess Callback
+    //   This method accepts a `Position` object, which contains
+    //   the current GPS coordinates
+    //
+    var onSuccess = function(position) {
+        alert('Latitude: '          + position.coords.latitude          + '\n' +
+              'Longitude: '         + position.coords.longitude         + '\n' +
+              'Altitude: '          + position.coords.altitude          + '\n' +
+              'Accuracy: '          + position.coords.accuracy          + '\n' +
+              'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
+              'Heading: '           + position.coords.heading           + '\n' +
+              'Speed: '             + position.coords.speed             + '\n' +
+              'Timestamp: '         + position.timestamp                + '\n');
+    };
+
+    // onError Callback receives a PositionError object
+    //
+    function onError(error) {
+        alert('code: '    + error.code    + '\n' +
+              'message: ' + error.message + '\n');
+    }
+
+    navigator.geolocation.getCurrentPosition(onSuccess, onError);
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Device Properties Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            navigator.geolocation.getCurrentPosition(onSuccess, onError);
+        }
+    
+        // onSuccess Geolocation
+        //
+        function onSuccess(position) {
+            var element = document.getElementById('geolocation');
+            element.innerHTML = 'Latitude: '           + position.coords.latitude              + '<br />' +
+                                'Longitude: '          + position.coords.longitude             + '<br />' +
+                                'Altitude: '           + position.coords.altitude              + '<br />' +
+                                'Accuracy: '           + position.coords.accuracy              + '<br />' +
+                                'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '<br />' +
+                                'Heading: '            + position.coords.heading               + '<br />' +
+                                'Speed: '              + position.coords.speed                 + '<br />' +
+                                'Timestamp: '          +                                   position.timestamp          + '<br />';
+        }
+    
+        // onError Callback receives a PositionError object
+        //
+        function onError(error) {
+            alert('code: '    + error.code    + '\n' +
+                    'message: ' + error.message + '\n');
+        }
+
+        </script>
+      </head>
+      <body>
+        <p id="geolocation">Finding geolocation...</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/geolocation.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/geolocation.md b/docs/en/2.1.0/cordova/geolocation/geolocation.md
new file mode 100644
index 0000000..9bdd8d6
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/geolocation.md
@@ -0,0 +1,108 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Geolocation
+===========
+
+> The `geolocation` object provides access to the device's GPS sensor.
+
+Geolocation provides location information for the device, such as latitude and longitude. Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs. No guarantee is given that the API returns the device's actual location.
+
+This API is based on the [W3C Geolocation API Specification](http://dev.w3.org/geo/api/spec-source.html).  Some devices (Android, BlackBerry, Bada, Windows Phone 7, webOS and Tizen, to be specific) already provide an implementation of this spec.  For those devices, the built-in support is used instead of replacing it with Cordova's implementation.  For devices that don't have geolocation support, the Cordova implementation adheres to the W3C specification.
+
+Methods
+-------
+
+- geolocation.getCurrentPosition
+- geolocation.watchPosition
+- geolocation.clearWatch
+
+
+Arguments
+---------
+
+- geolocationSuccess
+- geolocationError
+- geolocationOptions
+
+Objects (Read-Only)
+-------------------
+
+- Position
+- PositionError
+- Coordinates
+
+Permissions
+-----------
+
+### Android
+
+#### app/res/xml/plugins.xml
+
+    <plugin name="Geolocation" value="org.apache.cordova.GeoBroker" />
+
+#### app/AndroidManifest.xml
+
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
+
+### Bada
+
+    No permissions are required.
+
+### BlackBerry WebWorks
+
+#### www/plugins.xml
+
+    <plugin name="Geolocation" value="org.apache.cordova.geolocation.Geolocation" />
+
+#### www/config.xml
+
+    <rim:permissions>
+        <rim:permit>read_geolocation</rim:permit>
+    </rim:permissions>
+
+### iOS
+
+#### App/Supporting Files/Cordova.plist
+
+    <key>Plugins</key>
+    <dict>
+        <key>Geolocation</key>
+        <string>CDVLocation</string>
+    </dict>
+
+### webOS
+
+    No permissions are required.
+
+### Windows Phone
+
+#### Properties/WPAppManifest.xml
+
+    <Capabilities>
+        <Capability Name="ID_CAP_LOCATION" />
+    </Capabilities>
+
+Reference: [Application Manifest for Windows Phone](http://msdn.microsoft.com/en-us/library/ff769509%28v=vs.92%29.aspx)
+
+### Tizen
+
+    No permissions are required.

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/geolocation.watchPosition.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/geolocation.watchPosition.md b/docs/en/2.1.0/cordova/geolocation/geolocation.watchPosition.md
new file mode 100644
index 0000000..e0feb3b
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/geolocation.watchPosition.md
@@ -0,0 +1,129 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+geolocation.watchPosition
+=========================
+
+Watches for changes to the device's current position.
+
+    var watchId = navigator.geolocation.watchPosition(geolocationSuccess,
+                                                      [geolocationError],
+                                                      [geolocationOptions]);
+
+Parameters
+----------
+
+- __geolocationSuccess__: The callback that is called with the current position.
+- __geolocationError__: (Optional) The callback that is called if there was an error.
+- __geolocationOptions__: (Optional) The geolocation options.
+
+Returns
+-------
+
+- __String__: returns a watch id that references the watch position interval. The watch id should be used with `geolocation.clearWatch` to stop watching for changes in position.
+
+Description
+-----------
+
+`geolocation.watchPosition` is an asynchronous function. It returns the device's current position when a change in position has been detected.  When the device has retrieved a new location, the `geolocationSuccess` callback is invoked with a `Position` object as the parameter.  If there is an error, the `geolocationError` callback is invoked with a `PositionError` object.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+- Bada 1.2 & 2.x
+- webOS
+- Tizen
+
+Quick Example
+-------------
+
+    // onSuccess Callback
+    //   This method accepts a `Position` object, which contains
+    //   the current GPS coordinates
+    //
+    function onSuccess(position) {
+        var element = document.getElementById('geolocation');
+        element.innerHTML = 'Latitude: '  + position.coords.latitude      + '<br />' +
+                            'Longitude: ' + position.coords.longitude     + '<br />' +
+                            '<hr />'      + element.innerHTML;
+    }
+
+    // onError Callback receives a PositionError object
+    //
+    function onError(error) {
+        alert('code: '    + error.code    + '\n' +
+              'message: ' + error.message + '\n');
+    }
+
+    // Options: throw an error if no update is received every 30 seconds.
+    //
+    var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 30000 });
+    
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Device Properties Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        var watchID = null;
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            // Throw an error if no update is received every 30 seconds
+            var options = { timeout: 30000 };
+            watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
+        }
+    
+        // onSuccess Geolocation
+        //
+        function onSuccess(position) {
+            var element = document.getElementById('geolocation');
+            element.innerHTML = 'Latitude: '  + position.coords.latitude      + '<br />' +
+                                'Longitude: ' + position.coords.longitude     + '<br />' +
+                                '<hr />'      + element.innerHTML;
+        }
+    
+	    // onError Callback receives a PositionError object
+	    //
+	    function onError(error) {
+	        alert('code: '    + error.code    + '\n' +
+	              'message: ' + error.message + '\n');
+	    }
+
+        </script>
+      </head>
+      <body>
+        <p id="geolocation">Watching geolocation...</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/parameters/geolocation.options.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/parameters/geolocation.options.md b/docs/en/2.1.0/cordova/geolocation/parameters/geolocation.options.md
new file mode 100644
index 0000000..d822d24
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/parameters/geolocation.options.md
@@ -0,0 +1,41 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+geolocationOptions
+==================
+
+Optional parameters to customize the retrieval of the geolocation
+`Position`.
+
+    { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true };
+
+Options
+-------
+
+- __enableHighAccuracy:__ Provides a hint that the application would like to receive the best possible results. By default, the device will attempt to retrieve a `Position` using network-based methods. Setting this property to `true` tells the framework to use more accurate methods, such as satellite positioning. _(Boolean)_
+- __timeout:__ The maximum length of time (milliseconds) that is allowed to pass from the call to `geolocation.getCurrentPosition` or `geolocation.watchPosition` until the corresponding `geolocationSuccess` callback is invoked. If the `geolocationSuccess` callback is not invoked within this time, the `geolocationError` callback will be invoked with a `PositionError.TIMEOUT` error code. NOTE: when used in conjunction with `geolocation.watchPosition`, the `geolocationError` callback could be called on an interval every `timeout` milliseconds! _(Number)_
+- __maximumAge:__ Accept a cached position whose age is no greater than the specified time in milliseconds. _(Number)_
+
+Android Quirks
+--------------
+
+The Android 2.x simulators will not return a geolocation result unless the enableHighAccuracy option is set to true.
+
+    { enableHighAccuracy: true }
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/parameters/geolocationError.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/parameters/geolocationError.md b/docs/en/2.1.0/cordova/geolocation/parameters/geolocationError.md
new file mode 100644
index 0000000..c0091a0
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/parameters/geolocationError.md
@@ -0,0 +1,32 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+geolocationError
+================
+
+The user's callback function that is called when there is an error for geolocation functions.
+
+    function(error) {
+        // Handle the error
+    }
+
+Parameters
+----------
+
+- __error:__ The error returned by the device. (`PositionError`)

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/geolocation/parameters/geolocationSuccess.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/geolocation/parameters/geolocationSuccess.md b/docs/en/2.1.0/cordova/geolocation/parameters/geolocationSuccess.md
new file mode 100644
index 0000000..b70a579
--- /dev/null
+++ b/docs/en/2.1.0/cordova/geolocation/parameters/geolocationSuccess.md
@@ -0,0 +1,46 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+geolocationSuccess
+==================
+
+The user's callback function that is called when a geolocation position becomes available (when using with `geolocation.getCurrentPosition`), or when the position changes (when using with `geolocation.watchPosition`).
+
+    function(position) {
+        // Do something
+    }
+
+Parameters
+----------
+
+- __position:__ The geolocation position returned by the device. (`Position`)
+
+Example
+-------
+
+    function geolocationSuccess(position) {
+        alert('Latitude: '          + position.coords.latitude          + '\n' +
+              'Longitude: '         + position.coords.longitude         + '\n' +
+              'Altitude: '          + position.coords.altitude          + '\n' +
+              'Accuracy: '          + position.coords.accuracy          + '\n' +
+              'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
+              'Heading: '           + position.coords.heading           + '\n' +
+              'Speed: '             + position.coords.speed             + '\n' +
+              'Timestamp: '         + position.timestamp                + '\n');
+    }

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/MediaError/mediaError.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/MediaError/mediaError.md b/docs/en/2.1.0/cordova/media/MediaError/mediaError.md
new file mode 100644
index 0000000..ab79258
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/MediaError/mediaError.md
@@ -0,0 +1,44 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+MediaError
+==========
+
+A `MediaError` object is returned to the `mediaError` callback function when an error occurs.
+
+Properties
+----------
+
+- __code:__ One of the predefined error codes listed below.
+- __message:__ Error message describing the details of the error.
+
+Constants
+---------
+
+- `MediaError.MEDIA_ERR_ABORTED`
+- `MediaError.MEDIA_ERR_NETWORK`
+- `MediaError.MEDIA_ERR_DECODE`
+- `MediaError.MEDIA_ERR_NONE_SUPPORTED`
+
+
+Description
+-----------
+
+The `MediaError` object is returned to the user through the `mediaError` callback function when an error occurs.
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/Parameters/mediaError.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/Parameters/mediaError.md b/docs/en/2.1.0/cordova/media/Parameters/mediaError.md
new file mode 100644
index 0000000..e1803b4
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/Parameters/mediaError.md
@@ -0,0 +1,32 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+mediaError
+==========
+
+A user specified callback function that is invoked when there is an error in media functions.
+
+    function(error) {
+        // Handle the error
+    }
+
+Parameters
+----------
+
+- __error:__ The error returned by the device. (`MediaError`)

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/CaptureCB.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/CaptureCB.md b/docs/en/2.1.0/cordova/media/capture/CaptureCB.md
new file mode 100644
index 0000000..5f31fd0
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/CaptureCB.md
@@ -0,0 +1,44 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+CaptureCB
+=========
+
+> Invoked upon a successful media capture operation.
+
+    function captureSuccess( MediaFile[] mediaFiles ) { ... };
+
+Description
+-----------
+
+This function is invoked after a successful capture operation has completed.  This means a media file has been captured, and either the user has exited the media capture application, or the capture limit has been reached.
+
+Each MediaFile object describes a captured media file.  
+
+Quick Example
+-------------
+
+    // capture callback
+    function captureSuccess(mediaFiles) {
+        var i, path, len;
+        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+            path = mediaFiles[i].fullPath;
+            // do something interesting with the file
+        }
+    };

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/CaptureError.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/CaptureError.md b/docs/en/2.1.0/cordova/media/capture/CaptureError.md
new file mode 100644
index 0000000..5f98d51
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/CaptureError.md
@@ -0,0 +1,37 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+CaptureError
+============
+
+> Encapsulates the error code resulting from a failed media capture operation.
+
+Properties
+----------
+
+- __code:__ One of the pre-defined error codes listed below.
+
+Constants
+---------
+
+- CaptureError.`CAPTURE_INTERNAL_ERR`: Camera or microphone failed to capture image or sound. 
+- CaptureError.`CAPTURE_APPLICATION_BUSY`: Camera application or audio capture application is currently serving other capture request.
+- CaptureError.`CAPTURE_INVALID_ARGUMENT`: Invalid use of the API (e.g. limit parameter has value less than one).
+- CaptureError.`CAPTURE_NO_MEDIA_FILES`: User exited camera application or audio capture application before capturing anything.
+- CaptureError.`CAPTURE_NOT_SUPPORTED`: The requested capture operation is not supported.

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/CaptureErrorCB.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/CaptureErrorCB.md b/docs/en/2.1.0/cordova/media/capture/CaptureErrorCB.md
new file mode 100644
index 0000000..948140a
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/CaptureErrorCB.md
@@ -0,0 +1,40 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+CaptureErrorCB
+==============
+
+> Invoked if an error occurs during a media capture operation.
+
+    function captureError( CaptureError error ) { ... };
+
+Description
+-----------
+
+This function is invoked if an error occurs when trying to launch a media capture operation and the capture application is busy, if an error occurs while the capture operation is taking place, or if the capture operation has been canceled by the user before any media files have been captured.
+
+This function is invoked with a CaptureError object containing an appropriate error code.
+
+Quick Example
+-------------
+
+    // capture error callback
+    var captureError = function(error) {
+        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
+    };

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/ConfigurationData.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/ConfigurationData.md b/docs/en/2.1.0/cordova/media/capture/ConfigurationData.md
new file mode 100644
index 0000000..c166b3e
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/ConfigurationData.md
@@ -0,0 +1,62 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+ConfigurationData
+=================
+
+> Encapsulates a set of media capture parameters that a device supports.
+
+Description
+-----------
+
+This object is used to describe media capture modes supported by the device.  The configuration data includes the MIME type, and capture dimensions (for video or image capture).  
+
+The MIME types should adhere to [RFC2046](http://www.ietf.org/rfc/rfc2046.txt).  Examples:
+
+- video/3gpp
+- video/quicktime
+- image/jpeg
+- audio/amr
+- audio/wav 
+
+Properties
+----------
+
+- __type:__ The ASCII-encoded string in lower case representing the media type. (DOMString)
+- __height:__ The height of the image or video in pixels.  In the case of a sound clip, this attribute has value 0. (Number)
+- __width:__ The width of the image or video in pixels.  In the case of a sound clip, this attribute has value 0. (Number)
+
+Quick Example
+-------------
+
+    // retrieve supported image modes
+    var imageModes = navigator.device.capture.supportedImageModes;
+
+    // Select mode that has the highest horizontal resolution
+    var width = 0;
+    var selectedmode;
+    for each (var mode in imageModes) {
+        if (mode.width > width) {
+            width = mode.width;
+            selectedmode = mode;
+        }
+    }
+
+
+Not supported by any platform.  All configuration data arrays are empty.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/MediaFile.getFormatData.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/MediaFile.getFormatData.md b/docs/en/2.1.0/cordova/media/capture/MediaFile.getFormatData.md
new file mode 100644
index 0000000..40736cd
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/MediaFile.getFormatData.md
@@ -0,0 +1,53 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+MediaFile.getFormatData
+=======================
+
+> Retrieves format information about the media capture file.
+
+    mediaFile.getFormatData( 
+        MediaFileDataSuccessCB successCallback, 
+        [MediaFileDataErrorCB errorCallback]
+    );
+
+Description
+-----------
+
+This function asynchronously attempts to retrieve the format information for the media file.  If successful, it invokes the MediaFileDataSuccessCB callback with a MediaFileData object.  If the attempt fails, this function will invoke the MediaFileDataErrorCB callback.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+
+BlackBerry WebWorks Quirks
+--------------------------
+There is no API that provides format information of media files.  Therefore, all MediaFileData objects will be returned with default values.  See MediaFileData documentation.
+
+Android Quirks
+--------------
+The API for retrieving media file format information is limited.  Therefore, not all MediaFileData properties are supported.  See MediaFileData documentation.
+
+iOS Quirks
+----------
+The API for retrieving media file format information is limited.  Therefore, not all MediaFileData properties are supported.  See MediaFileData documentation.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/MediaFile.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/MediaFile.md b/docs/en/2.1.0/cordova/media/capture/MediaFile.md
new file mode 100644
index 0000000..fe3d9a1
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/MediaFile.md
@@ -0,0 +1,37 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+MediaFile
+=========
+
+> Encapsulates properties of a media capture file.
+
+Properties
+----------
+
+- __name:__ The name of the file, without path information. (DOMString)
+- __fullPath:__ The full path of the file, including the name. (DOMString)
+- __type:__ The mime type (DOMString)
+- __lastModifiedDate:__ The date and time that the file was last modified. (Date)
+- __size:__ The size of the file, in bytes. (Number)
+
+Methods
+-------
+
+- __MediaFile.getFormatData:__ Retrieves the format information of the media file.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/MediaFileData.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/MediaFileData.md b/docs/en/2.1.0/cordova/media/capture/MediaFileData.md
new file mode 100644
index 0000000..93ed349
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/MediaFileData.md
@@ -0,0 +1,62 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+MediaFileData
+=============
+
+> Encapsulates format information about a media file.
+
+Properties
+----------
+
+- __codecs:__ The actual format of the audio and video content. (DOMString)
+- __bitrate:__ The average bitrate of the content.  In case of an image, this attribute has value 0. (Number)
+- __height:__ The height of the image or video in pixels. In the case of a sound clip, this attribute has value 0. (Number)
+- __width:__ The width of the image or video in pixels. In the case of a sound clip, this attribute has value 0. (Number)
+- __duration:__ The length of the video or sound clip in seconds. In the case of an image, this attribute has value 0. (Number)
+
+BlackBerry WebWorks Quirks
+--------------------------
+There is no API that provides format information of media files.  So the MediaFileData object returned by the MediaFile.getFormatData function will have the following default values:
+
+- __codecs:__ Not supported. The attribute will always be null.
+- __bitrate:__ Not supported.  The attribute will always be 0.
+- __height:__ Not supported.  The attribute will always be 0.
+- __width:__ Not supported.  The attribute will always be 0.
+- __duration:__ Not supported.  The attribute will always be 0.
+
+Android Quirks
+--------------
+Support for the MediaFileData properties is as follows:
+
+- __codecs:__ Not supported.  The attribute will always be null.
+- __bitrate:__ Not supported.  The attribute will always be 0.
+- __height:__ Supported.  (Image and video files only).  
+- __width:__ Supported.  (Image and video files only). 
+- __duration:__ Supported.  (Audio and video files only).
+
+iOS Quirks
+----------
+Support for the MediaFileData properties is as follows:
+
+- __codecs:__ Not supported.  The attribute will always be null.
+- __bitrate:__ Supported on iOS4 devices for audio only. The attribute will always be 0 for image and video.
+- __height:__ Supported.  (Image and video files only).  
+- __width:__ Supported.  (Image and video files only). 
+- __duration:__ Supported.  (Audio and video files only).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/capture.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/capture.md b/docs/en/2.1.0/cordova/media/capture/capture.md
new file mode 100644
index 0000000..5fbf0a4
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/capture.md
@@ -0,0 +1,134 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Capture
+=======
+
+> Provides access to the audio, image, and video capture capabilities of the device.
+
+Objects
+-------
+
+- Capture
+- CaptureAudioOptions
+- CaptureImageOptions
+- CaptureVideoOptions
+- CaptureCB
+- CaptureErrorCB
+- ConfigurationData
+- MediaFile
+- MediaFileData
+
+Methods
+-------
+
+- capture.captureAudio
+- capture.captureImage
+- capture.captureVideo
+- MediaFile.getFormatData
+
+Scope
+-----
+
+The __capture__ object is assigned to the __navigator.device__ object, and therefore has global scope.
+
+    // The global capture object
+    var capture = navigator.device.capture;
+
+Properties
+----------
+
+- __supportedAudioModes:__ The audio recording formats supported by the device. (ConfigurationData[])
+- __supportedImageModes:__ The recording image sizes and formats supported by the device. (ConfigurationData[])
+- __supportedVideoModes:__ The recording video resolutions and formats supported by the device. (ConfigurationData[])
+
+Methods
+-------
+
+- capture.captureAudio: Launch the device audio recording application for recording audio clip(s).
+- capture.captureImage: Launch the device camera application for taking image(s).
+- capture.captureVideo: Launch the device video recorder application for recording video(s).
+
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+
+Permissions
+-----------
+
+### Android
+
+#### app/res/xml/plugins.xml
+
+    <plugin name="Capture" value="org.apache.cordova.Capture"/>
+
+#### app/AndroidManifest.xml
+
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
+
+### Bada
+
+#### manifest.xml
+
+    <Privilege>
+        <Name>RECORDING</Name>
+    </Privilege>
+
+### BlackBerry WebWorks
+
+#### www/plugins.xml
+
+    <plugin name="Capture" value="org.apache.cordova.capture.MediaCapture" />
+
+#### www/config.xml
+
+    <feature id="blackberry.system"  required="true" version="1.0.0.0" />
+    <feature id="blackberry.io.file" required="true" version="1.0.0.0" />
+
+### iOS
+
+#### App/Supporting Files/Cordova.plist
+
+    <key>Plugins</key>
+    <dict>
+        <key>Capture</key>
+        <string>CDVCapture</string>
+    </dict>
+
+### webOS
+
+    No permissions are required.
+
+### Windows Phone
+
+#### Properties/WPAppManifest.xml
+
+    <Capabilities>
+        <Capability Name="ID_CAP_MEDIALIB" />
+        <Capability Name="ID_CAP_MICROPHONE" />
+        <Capability Name="ID_HW_FRONTCAMERA" />
+        <Capability Name="ID_CAP_ISV_CAMERA" />
+        <Capability Name="ID_CAP_CAMERA" />
+    </Capabilities>

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/captureAudio.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/captureAudio.md b/docs/en/2.1.0/cordova/media/capture/captureAudio.md
new file mode 100644
index 0000000..2767549
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/captureAudio.md
@@ -0,0 +1,140 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+capture.captureAudio
+====================
+
+> Start the audio recorder application and return information about captured audio clip file(s).
+
+    navigator.device.capture.captureAudio( 
+	    CaptureCB captureSuccess, CaptureErrorCB captureError,  [CaptureAudioOptions options]
+	);
+
+Description
+-----------
+
+This method starts an asynchronous operation to capture audio recordings using the device's default audio recording application.  The operation allows the device user to capture multiple recordings in a single session.
+
+The capture operation ends when either the user exits the audio recording application, or the maximum number of recordings, specified by the __limit__ parameter in CaptureAudioOptions, has been reached.  If no value is provided for the __limit__ parameter, a default value of one (1) is used, and the capture operation will terminate after the user records a single audio clip.
+
+When the capture operation is finished, it will invoke the CaptureCB callback with an array of MediaFile objects describing each captured audio clip file.  If the operation is terminated by the user before an audio clip is captured, the CaptureErrorCB callback will be invoked with a CaptureError object with the CaptureError.`CAPTURE_NO_MEDIA_FILES` error code.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+
+Quick Example
+-------------
+
+    // capture callback
+    var captureSuccess = function(mediaFiles) {
+        var i, path, len;
+        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+            path = mediaFiles[i].fullPath;
+            // do something interesting with the file
+        }
+    };
+
+    // capture error callback
+    var captureError = function(error) {
+        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
+    };
+
+    // start audio capture
+    navigator.device.capture.captureAudio(captureSuccess, captureError, {limit:2});
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Capture Audio</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="json2.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Called when capture operation is finished
+        //
+        function captureSuccess(mediaFiles) {
+            var i, len;
+            for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+                uploadFile(mediaFiles[i]);
+            }	    
+        }
+
+        // Called if something bad happens.
+        // 
+        function captureError(error) {
+	        var msg = 'An error occurred during capture: ' + error.code;
+            navigator.notification.alert(msg, null, 'Uh oh!');
+        }
+
+        // A button will call this function
+        //
+        function captureAudio() {
+            // Launch device audio recording application, 
+            // allowing user to capture up to 2 audio clips
+            navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 2});
+        }
+
+        // Upload files to server
+        function uploadFile(mediaFile) {
+            var ft = new FileTransfer(),
+                path = mediaFile.fullPath,
+                name = mediaFile.name;
+
+            ft.upload(path,
+                "http://my.domain.com/upload.php",
+                function(result) {
+                    console.log('Upload success: ' + result.responseCode);
+                    console.log(result.bytesSent + ' bytes sent');
+                },
+                function(error) {
+                    console.log('Error uploading file ' + path + ': ' + error.code);
+                },
+                { fileName: name });   
+        }
+
+        </script>
+        </head>
+        <body>
+            <button onclick="captureAudio();">Capture Audio</button> <br>
+        </body>
+    </html>
+
+BlackBerry WebWorks Quirks
+--------------------------
+
+- Cordova for BlackBerry WebWorks attempts to launch the __Voice Notes Recorder__ application, provided by RIM, to capture the audio recordings.  The developer will receive a CaptureError.`CAPTURE_NOT_SUPPORTED` error code if the application is not installed on the device.
+
+iOS Quirks
+----------
+
+- iOS does not have a default audio recording application so a simple user interface is provided.
+
+Windows Phone 7 Quirks
+----------
+
+- Windows Phone 7 does not have a default audio recording application so a simple user interface is provided.

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/captureAudioOptions.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/captureAudioOptions.md b/docs/en/2.1.0/cordova/media/capture/captureAudioOptions.md
new file mode 100644
index 0000000..19ec58b
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/captureAudioOptions.md
@@ -0,0 +1,56 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+CaptureAudioOptions
+===================
+
+> Encapsulates audio capture configuration options.
+
+Properties
+----------
+
+- __limit:__ The maximum number of audio clips the device user can record in a single capture operation.  The value must be greater than or equal to 1 (defaults to 1).
+- __duration:__ The maximum duration of an audio sound clip, in seconds.
+- __mode:__ The selected audio mode.  The value must match one of the elements in `capture.supportedAudioModes`.
+
+Quick Example
+-------------
+
+    // limit capture operation to 3 media files, no longer than 10 seconds each
+    var options = { limit: 3, duration: 10 };
+
+    navigator.device.capture.captureAudio(captureSuccess, captureError, options);
+
+Android Quirks
+--------------
+
+- The __duration__ parameter is not supported.  Recording lengths cannot be limited programmatically.
+- The __mode__ parameter is not supported.  The audio recording format cannot be altered programmatically.  Recordings are encoded using Adaptive Multi-Rate (AMR) format (audio/amr).
+
+BlackBerry WebWorks Quirks
+--------------------------
+
+- The __duration__ parameter is not supported.  Recording lengths cannot be limited programmatically.
+- The __mode__ parameter is not supported.  The audio recording format cannot be altered programmatically.  Recordings are encoded using Adaptive Multi-Rate (AMR) format (audio/amr).
+
+iOS Quirks
+----------
+
+- The __limit__ parameter is not supported. One recording can be created for each invocation.
+- The __mode__ parameter is not supported.  The audio recording format cannot be altered programmatically.  Recordings are encoded using Waveform Audio (WAV) format (audio/wav).

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/captureImage.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/captureImage.md b/docs/en/2.1.0/cordova/media/capture/captureImage.md
new file mode 100644
index 0000000..14f0eb6
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/captureImage.md
@@ -0,0 +1,158 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+capture.captureImage
+====================
+
+> Start the camera application and return information about captured image file(s).
+
+    navigator.device.capture.captureImage( 
+	    CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureImageOptions options]
+	);
+
+Description
+-----------
+
+This method starts an asynchronous operation to capture images using the device camera application.  The operation allows the device user to capture multiple images in a single session.
+
+The capture operation ends when either the user exits the camera application, or the maximum number of images, specified by the __limit__ parameter in CaptureImageOptions, has been reached.  If no value is provided for the __limit__ parameter, a default value of one (1) is used, and the capture operation will terminate after the user captures a single image.
+
+When the capture operation is finished, it will invoke the CaptureCB callback with an array of MediaFile objects describing each captured image file.  If the operation is terminated by the user before an image is captured, the CaptureErrorCB callback will be invoked with a CaptureError object with the CaptureError.`CAPTURE_NO_MEDIA_FILES` error code.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+- Bada 2.x
+
+Windows Phone 7 Quirks
+----------------------
+
+Invoking the native camera application while your device is connected
+via Zune will not work, and the error callback will be triggered.
+
+Quick Example
+-------------
+
+    // capture callback
+    var captureSuccess = function(mediaFiles) {
+        var i, path, len;
+        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+            path = mediaFiles[i].fullPath;
+            // do something interesting with the file
+        }
+    };
+
+    // capture error callback
+    var captureError = function(error) {
+        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
+    };
+
+    // start image capture
+    navigator.device.capture.captureImage(captureSuccess, captureError, {limit:2});
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Capture Image</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="json2.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Called when capture operation is finished
+        //
+        function captureSuccess(mediaFiles) {
+            var i, len;
+            for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+                uploadFile(mediaFiles[i]);
+            }	    
+        }
+
+        // Called if something bad happens.
+        // 
+        function captureError(error) {
+	        var msg = 'An error occurred during capture: ' + error.code;
+            navigator.notification.alert(msg, null, 'Uh oh!');
+        }
+
+        // A button will call this function
+        //
+        function captureImage() {
+            // Launch device camera application, 
+            // allowing user to capture up to 2 images
+            navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
+        }
+
+        // Upload files to server
+        function uploadFile(mediaFile) {
+            var ft = new FileTransfer(),
+                path = mediaFile.fullPath,
+                name = mediaFile.name;
+
+            ft.upload(path,
+                "http://my.domain.com/upload.php",
+                function(result) {
+                    console.log('Upload success: ' + result.responseCode);
+                    console.log(result.bytesSent + ' bytes sent');
+                },
+                function(error) {
+                    console.log('Error uploading file ' + path + ': ' + error.code);
+                },
+                { fileName: name });   
+        }
+
+        </script>
+        </head>
+        <body>
+            <button onclick="captureImage();">Capture Image</button> <br>
+        </body>
+    </html>
+
+
+Bada Quirks
+-----------
+
+Bada supports _captureImage_ just like the other platforms. However there is _another_ mode where you can capture a video or an image straight in the webview without launching any camera app. In order to do that you need to:
+
+1. create a _&#60;div&#62;_ element somewhere in your document and give it an id (such as "preview"). 
+
+        <div id="preview"></div>
+
+2. Initialize the camera preview with the following method
+
+        navigator.camera.showPreview("preview");
+
+3. Once you get the preview you can
+
+    3.1 Capture an image with
+
+        var options = { destinationFilename: "images/cam01.jpg", highRes: false};
+        navigator.capture.captureImage(success, fail, options);
+    
+3. Hide the camera preview with the following method
+
+        navigator.camera.hidePreview("preview");
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/captureImageOptions.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/captureImageOptions.md b/docs/en/2.1.0/cordova/media/capture/captureImageOptions.md
new file mode 100644
index 0000000..763a389
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/captureImageOptions.md
@@ -0,0 +1,53 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+CaptureImageOptions
+===================
+
+> Encapsulates image capture configuration options.
+
+Properties
+----------
+
+- __limit:__ The maximum number of images the device user can capture in a single capture operation.  The value must be greater than or equal to 1 (defaults to 1).
+- __mode:__ The selected image mode.  The value must match one of the elements in `capture.supportedImageModes`.
+
+Quick Example
+-------------
+
+    // limit capture operation to 3 images
+    var options = { limit: 3 };
+
+    navigator.device.capture.captureImage(captureSuccess, captureError, options);
+
+Android Quirks
+--------------
+
+- The __mode__ parameter is not supported.  The image size and format cannot be altered programmatically; however, the image size can be altered by the device user.  Images are saved in JPEG format (image/jpeg).
+
+BlackBerry WebWorks Quirks
+--------------------------
+
+- The __mode__ parameter is not supported.  The image size and format cannot be altered programmatically; however, the image size can be altered by the device user.  Images are saved in JPEG format (image/jpeg).
+
+iOS Quirks
+----------
+
+- The __limit__ parameter is not supported. One image is taken per invocation.
+- The __mode__ parameter is not supported.  The image size and format cannot be altered programmatically.  Images are saved in JPEG format (image/jpeg).

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/captureVideo.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/captureVideo.md b/docs/en/2.1.0/cordova/media/capture/captureVideo.md
new file mode 100644
index 0000000..5da4934
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/captureVideo.md
@@ -0,0 +1,159 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+capture.captureVideo
+====================
+
+> Start the video recorder application and return information about captured video clip file(s).
+
+    navigator.device.capture.captureVideo( 
+	    CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options]
+	);
+
+Description
+-----------
+
+This method starts an asynchronous operation to capture video recordings using the device video recording application.  The operation allows the device user to capture multiple recordings in a single session.
+
+The capture operation ends when either the user exits the video recording application, or the maximum number of recordings, specified by the __limit__ parameter in CaptureVideoOptions, has been reached.  If no value is provided for the __limit__ parameter, a default value of one (1) is used, and the capture operation will terminate after the user records a single video clip.
+
+When the capture operation is finished, it will invoke the CaptureCB callback with an array of MediaFile objects describing each captured video clip file.  If the operation is terminated by the user before an video clip is captured, the CaptureErrorCB callback will be invoked with a CaptureError object with the CaptureError.`CAPTURE_NO_MEDIA_FILES` error code.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+- Bada 2.x
+
+Quick Example
+-------------
+
+    // capture callback
+    var captureSuccess = function(mediaFiles) {
+        var i, path, len;
+        for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+            path = mediaFiles[i].fullPath;
+            // do something interesting with the file
+        }
+    };
+
+    // capture error callback
+    var captureError = function(error) {
+        navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
+    };
+
+    // start video capture
+    navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2});
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Capture Video</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+        <script type="text/javascript" charset="utf-8" src="json2.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Called when capture operation is finished
+        //
+        function captureSuccess(mediaFiles) {
+            var i, len;
+            for (i = 0, len = mediaFiles.length; i < len; i += 1) {
+                uploadFile(mediaFiles[i]);
+            }	    
+        }
+
+        // Called if something bad happens.
+        // 
+        function captureError(error) {
+	        var msg = 'An error occurred during capture: ' + error.code;
+            navigator.notification.alert(msg, null, 'Uh oh!');
+        }
+
+        // A button will call this function
+        //
+        function captureVideo() {
+            // Launch device video recording application, 
+            // allowing user to capture up to 2 video clips
+            navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 2});
+        }
+
+        // Upload files to server
+        function uploadFile(mediaFile) {
+            var ft = new FileTransfer(),
+                path = mediaFile.fullPath,
+                name = mediaFile.name;
+
+            ft.upload(path,
+                "http://my.domain.com/upload.php",
+                function(result) {
+                    console.log('Upload success: ' + result.responseCode);
+                    console.log(result.bytesSent + ' bytes sent');
+                },
+                function(error) {
+                    console.log('Error uploading file ' + path + ': ' + error.code);
+                },
+                { fileName: name });   
+        }
+
+        </script>
+        </head>
+        <body>
+            <button onclick="captureVideo();">Capture Video</button> <br>
+        </body>
+    </html>
+
+BlackBerry WebWorks Quirks
+--------------------------
+
+- Cordova for BlackBerry WebWorks attempts to launch the __Video Recorder__ application, provided by RIM, to capture the video recordings.  The developer will receive a CaptureError.`CAPTURE_NOT_SUPPORTED` error code if the application is not installed on the device.
+
+Bada 2.x Quirks
+---------------
+
+Bada supports _captureVideo_ just like the other platforms. However there is _another_ mode where you can capture a video or an image straight in the webview without launching any camera apps. In order to do that you need to:
+
+1. create a _&#60;div&#62;_ element somewhere in your document and give it an id (such as "preview"). 
+
+        <div id="preview"></div>
+
+2. Initialize the camera preview with the following method
+
+        navigator.camera.showPreview("preview");
+
+3. Once you get the preview you can
+
+    3.1 Start capturing a video with
+
+        navigator.capture.startVideoCapture(success, fail, {duration: 5000, destinationFilename: "videos/a.3gp"});
+    
+    3.2 Stop the video capture with
+
+        navigator.capture.stopVideoCapture();
+
+3. Hide the camera preview with the following method
+
+        navigator.camera.hidePreview("preview");
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/capture/captureVideoOptions.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/capture/captureVideoOptions.md b/docs/en/2.1.0/cordova/media/capture/captureVideoOptions.md
new file mode 100644
index 0000000..95711f1
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/capture/captureVideoOptions.md
@@ -0,0 +1,59 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+CaptureVideoOptions
+===================
+
+> Encapsulates video capture configuration options.
+
+Properties
+----------
+
+- __limit:__ The maximum number of video clips the device user can capture in a single capture operation.  The value must be greater than or equal to 1 (defaults to 1).
+- __duration:__ The maximum duration of a video clip, in seconds.
+- __mode:__ The selected video capture mode.  The value must match one of the elements in `capture.supportedVideoModes`.
+
+Quick Example
+-------------
+
+    // limit capture operation to 3 video clips
+    var options = { limit: 3 };
+
+    navigator.device.capture.captureVideo(captureSuccess, captureError, options);
+
+Android Quirks
+--------------
+
+- The __duration__ parameter is not supported.  Recording lengths cannot be limited programmatically.
+- The __mode__ parameter is not supported.  The video size and format cannot be altered programmatically; however, these parameters can be changed by the device user. By default, videos are recorded in 3GPP (video/3gpp) format.
+
+
+BlackBerry WebWorks Quirks
+--------------------------
+
+- The __duration__ parameter is not supported.  Recording lengths cannot be limited programmatically.
+- The __mode__ parameter is not supported.  The video size and format cannot be altered programmatically; however, these parameters can be changed by the device user. By default, videos are recorded in 3GPP (video/3gpp) format.
+
+iOS Quirks
+----------
+
+- The __limit__ parameter is not supported.  One video is recorded per invocation.
+- The __duration__ parameter is not supported.  Recording lengths cannot be limited programmatically.
+- The __mode__ parameter is not supported.  The video size and format cannot be altered programmatically. By default, videos are recorded in MOV (video/quicktime) format.
+

http://git-wip-us.apache.org/repos/asf/incubator-cordova-docs/blob/f8894a31/docs/en/2.1.0/cordova/media/media.getCurrentPosition.md
----------------------------------------------------------------------
diff --git a/docs/en/2.1.0/cordova/media/media.getCurrentPosition.md b/docs/en/2.1.0/cordova/media/media.getCurrentPosition.md
new file mode 100644
index 0000000..5f59769
--- /dev/null
+++ b/docs/en/2.1.0/cordova/media/media.getCurrentPosition.md
@@ -0,0 +1,174 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+media.getCurrentPosition
+========================
+
+Returns the current position within an audio file.
+
+    media.getCurrentPosition(mediaSuccess, [mediaError]);
+
+Parameters
+----------
+
+- __mediaSuccess__: The callback that is called with the current position in seconds.
+- __mediaError__: (Optional) The callback that is called if there was an error.
+
+Description
+-----------
+
+Function `media.getCurrentPosition` is an asynchronous function that returns the current position of the underlying audio file of a Media object. Also updates the ___position__ parameter within the Media object. 
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 ( Mango )
+- Tizen
+
+Quick Example
+-------------
+
+        // Audio player
+        //
+        var my_media = new Media(src, onSuccess, onError);
+
+        // Update media position every second
+        var mediaTimer = setInterval(function() {
+            // get media position
+            my_media.getCurrentPosition(
+                // success callback
+                function(position) {
+                    if (position > -1) {
+                        console.log((position) + " sec");
+                    }
+                },
+                // error callback
+                function(e) {
+                    console.log("Error getting pos=" + e);
+                }
+            );
+        }, 1000);
+
+
+Full Example
+------------
+
+        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                      "http://www.w3.org/TR/html4/strict.dtd">
+        <html>
+          <head>
+            <title>Media Example</title>
+        
+            <script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
+            <script type="text/javascript" charset="utf-8">
+        
+            // Wait for Cordova to load
+            //
+            document.addEventListener("deviceready", onDeviceReady, false);
+        
+            // Cordova is ready
+            //
+            function onDeviceReady() {
+                playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
+            }
+        
+            // Audio player
+            //
+            var my_media = null;
+            var mediaTimer = null;
+        
+            // Play audio
+            //
+            function playAudio(src) {
+                // Create Media object from src
+                my_media = new Media(src, onSuccess, onError);
+        
+                // Play audio
+                my_media.play();
+        
+                // Update my_media position every second
+                if (mediaTimer == null) {
+                    mediaTimer = setInterval(function() {
+                        // get my_media position
+                        my_media.getCurrentPosition(
+                            // success callback
+                            function(position) {
+                                if (position > -1) {
+                                    setAudioPosition((position) + " sec");
+                                }
+                            },
+                            // error callback
+                            function(e) {
+                                console.log("Error getting pos=" + e);
+                                setAudioPosition("Error: " + e);
+                            }
+                        );
+                    }, 1000);
+                }
+            }
+        
+            // Pause audio
+            // 
+            function pauseAudio() {
+                if (my_media) {
+                    my_media.pause();
+                }
+            }
+        
+            // Stop audio
+            // 
+            function stopAudio() {
+                if (my_media) {
+                    my_media.stop();
+                }
+                clearInterval(mediaTimer);
+                mediaTimer = null;
+            }
+        
+            // onSuccess Callback
+            //
+            function onSuccess() {
+                console.log("playAudio():Audio Success");
+            }
+        
+            // onError Callback 
+            //
+            function onError(error) {
+                alert('code: '    + error.code    + '\n' + 
+                      'message: ' + error.message + '\n');
+            }
+        
+            // Set audio position
+            // 
+            function setAudioPosition(position) {
+                document.getElementById('audio_position').innerHTML = position;
+            }
+        
+            </script>
+          </head>
+          <body>
+            <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
+            <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
+            <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
+            <p id="audio_position"></p>
+          </body>
+        </html>