[video_player_web] Implement playback speed (#3081)

diff --git a/packages/video_player/video_player_web/CHANGELOG.md b/packages/video_player/video_player_web/CHANGELOG.md
index 9c500e9..d185049 100644
--- a/packages/video_player/video_player_web/CHANGELOG.md
+++ b/packages/video_player/video_player_web/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.1.4
+
+* Added option to set the video playback speed on the video controller.
+
 ## 0.1.3+2
 
 * Allow users to set the 'muted' attribute on video elements by setting their volume to 0.
diff --git a/packages/video_player/video_player_web/lib/video_player_web.dart b/packages/video_player/video_player_web/lib/video_player_web.dart
index 3a849f4..251da37 100644
--- a/packages/video_player/video_player_web/lib/video_player_web.dart
+++ b/packages/video_player/video_player_web/lib/video_player_web.dart
@@ -120,6 +120,13 @@
   }
 
   @override
+  Future<void> setPlaybackSpeed(int textureId, double speed) async {
+    assert(speed > 0);
+
+    return _videoPlayers[textureId].setPlaybackSpeed(speed);
+  }
+
+  @override
   Future<void> seekTo(int textureId, Duration position) async {
     return _videoPlayers[textureId].seekTo(position);
   }
@@ -232,6 +239,12 @@
     videoElement.volume = value;
   }
 
+  void setPlaybackSpeed(double speed) {
+    assert(speed > 0);
+
+    videoElement.playbackRate = speed;
+  }
+
   void seekTo(Duration position) {
     videoElement.currentTime = position.inMilliseconds.toDouble() / 1000;
   }
diff --git a/packages/video_player/video_player_web/pubspec.yaml b/packages/video_player/video_player_web/pubspec.yaml
index 891430d..98191bf 100644
--- a/packages/video_player/video_player_web/pubspec.yaml
+++ b/packages/video_player/video_player_web/pubspec.yaml
@@ -1,10 +1,10 @@
 name: video_player_web
-description: Web platform implementation of video_player
+description: Web platform implementation of video_player.
 homepage: https://github.com/flutter/plugins/tree/master/packages/video_player/video_player_web
 # 0.1.y+z is compatible with 1.0.0, if you land a breaking change bump
 # the version to 2.0.0.
 # See more details: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0
-version: 0.1.3+2
+version: 0.1.4
 
 flutter:
   plugin:
@@ -19,7 +19,7 @@
   flutter_web_plugins:
     sdk: flutter
   meta: ^1.1.7
-  video_player_platform_interface: ^2.0.0
+  video_player_platform_interface: ^2.2.0
 
 dev_dependencies:
   flutter_test:
@@ -29,5 +29,5 @@
   pedantic: ^1.8.0
 
 environment:
-  sdk: ">=2.1.0 <3.0.0"
+  sdk: ">=2.8.0 <3.0.0"
   flutter: ">=1.12.8 <2.0.0"
diff --git a/packages/video_player/video_player_web/test/video_player_web_test.dart b/packages/video_player/video_player_web/test/video_player_web_test.dart
index ef6dc02..453079b 100644
--- a/packages/video_player/video_player_web/test/video_player_web_test.dart
+++ b/packages/video_player/video_player_web/test/video_player_web_test.dart
@@ -109,6 +109,13 @@
       expect(VideoPlayerPlatform.instance.setVolume(textureId, 0.8), completes);
     });
 
+    test('can set playback speed', () {
+      expect(
+        VideoPlayerPlatform.instance.setPlaybackSpeed(textureId, 2.0),
+        completes,
+      );
+    });
+
     test('can seek to position', () {
       expect(
           VideoPlayerPlatform.instance.seekTo(textureId, Duration(seconds: 1)),