[Media] Added setRate() implementation.
authorTomasz Marciniak <t.marciniak@samsung.com>
Thu, 19 Nov 2015 11:38:07 +0000 (12:38 +0100)
committerHyunJin Park <hj.na.park@samsung.com>
Fri, 20 Nov 2015 02:22:46 +0000 (11:22 +0900)
[Verification] Code compiles. Tests pass rate did not change.

Change-Id: I02d02c654d3051b26d516ff6e3c9e30085c22ce5
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/media/cordova_media_api.js

index 98e4d336b6d01764e5fa96c2637cdb7854a7b5e1..f9f393192f8d9928219a613b2363fedcf58a7dc5 100755 (executable)
@@ -309,7 +309,13 @@ cordova.define(plugin_name, function(require, exports, module) {
     audioObjects[id].isReady = true;
 
     if (!audioObjects[id].src) {
+      //assigning src sets playbackRate to default value equal to 1
+      //so if playbackRate was set before first run of play() function
+      //it should be saved and restored.
+      var rate = audioObjects[id].playbackRate;
+
       audioObjects[id].src = src;
+      audioObjects[id].playbackRate = rate;
       return;
     }
 
@@ -392,6 +398,15 @@ cordova.define(plugin_name, function(require, exports, module) {
       console.log('media::setVolume()');
 
       audioObjects[id].volume = volume;
+  },
+  //cordova common layer supports setRate function for ios platform only
+  //it is for future use
+  setRate: function(successCallback, errorCallback, args) {
+      var id = args[0], rate = args[1];
+
+      console.log('media::setRate()');
+
+      audioObjects[id].playbackRate = rate;
   }
 };
 require('cordova/exec/proxy').add('Media', exports);