@capgo/capacitor-video-player 8.1.23 → 8.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ import AVKit
8
8
  */
9
9
  @objc(VideoPlayerPlugin)
10
10
  public class VideoPlayerPlugin: CAPPlugin, CAPBridgedPlugin {
11
- private let pluginVersion: String = "8.1.23"
11
+ private let pluginVersion: String = "8.1.25"
12
12
  public let identifier = "VideoPlayerPlugin"
13
13
  public let jsName = "VideoPlayer"
14
14
  public let pluginMethods: [CAPPluginMethod] = [
@@ -29,7 +29,9 @@ public class VideoPlayerPlugin: CAPPlugin, CAPBridgedPlugin {
29
29
  CAPPluginMethod(name: "stopAllPlayers", returnType: CAPPluginReturnPromise),
30
30
  CAPPluginMethod(name: "showController", returnType: CAPPluginReturnPromise),
31
31
  CAPPluginMethod(name: "isControllerIsFullyVisible", returnType: CAPPluginReturnPromise),
32
- CAPPluginMethod(name: "exitPlayer", returnType: CAPPluginReturnPromise)
32
+ CAPPluginMethod(name: "exitPlayer", returnType: CAPPluginReturnPromise),
33
+ CAPPluginMethod(name: "hidePlayer", returnType: CAPPluginReturnPromise),
34
+ CAPPluginMethod(name: "showPlayer", returnType: CAPPluginReturnPromise)
33
35
  ]
34
36
 
35
37
  private var videoPlayers: [String: FullscreenVideoPlayer] = [:]
@@ -79,6 +81,8 @@ extension VideoPlayerPlugin {
79
81
  let title = call.getString("title")
80
82
  let smallTitle = call.getString("smallTitle")
81
83
  let artwork = call.getString("artwork")
84
+ let chromecastUrl = call.getString("chromecastUrl")
85
+ let audioCategory = call.getString("audioCategory")
82
86
  let subtitle = call.getString("subtitle")
83
87
  let language = call.getString("language")
84
88
 
@@ -87,6 +91,9 @@ extension VideoPlayerPlugin {
87
91
  let fairplay = drm?["fairplay"] as? [String: Any]
88
92
  let fairplayCertificateUrl = fairplay?["certificateUrl"] as? String
89
93
  let fairplayContentKeySpcUrl = fairplay?["contentKeySpcUrl"] as? String
94
+ let fairplayAssetId = fairplay?["assetId"] as? String
95
+ let widevine = drm?["widevine"] as? [String: Any]
96
+ let widevineLicenseUrl = widevine?["certificateUrl"] as? String
90
97
 
91
98
  // Create video player
92
99
  let player = FullscreenVideoPlayer(
@@ -98,13 +105,17 @@ extension VideoPlayerPlugin {
98
105
  pipEnabled: pipEnabled,
99
106
  showControls: showControls,
100
107
  chromecast: chromecast,
108
+ chromecastUrl: chromecastUrl,
101
109
  title: title,
102
110
  smallTitle: smallTitle,
103
111
  artwork: artwork,
104
112
  subtitleUrl: subtitle,
105
113
  subtitleLanguage: language,
106
114
  fairplayCertificateUrl: fairplayCertificateUrl,
107
- fairplayContentKeySpcUrl: fairplayContentKeySpcUrl
115
+ fairplayContentKeySpcUrl: fairplayContentKeySpcUrl,
116
+ fairplayAssetId: fairplayAssetId,
117
+ widevineLicenseUrl: widevineLicenseUrl,
118
+ audioCategory: audioCategory
108
119
  )
109
120
 
110
121
  // Present player
@@ -509,3 +520,58 @@ extension VideoPlayerPlugin {
509
520
  ])
510
521
  }
511
522
  }
523
+
524
+ extension VideoPlayerPlugin {
525
+ @objc func hidePlayer(_ call: CAPPluginCall) {
526
+ guard let playerId = currentPlayerId,
527
+ let player = videoPlayers[playerId] else {
528
+ call.resolve([
529
+ "result": false,
530
+ "method": "hidePlayer",
531
+ "message": "No active player"
532
+ ])
533
+ return
534
+ }
535
+
536
+ DispatchQueue.main.async {
537
+ player.hide {
538
+ call.resolve([
539
+ "result": true,
540
+ "method": "hidePlayer",
541
+ "value": true
542
+ ])
543
+ }
544
+ }
545
+ }
546
+
547
+ @objc func showPlayer(_ call: CAPPluginCall) {
548
+ guard let playerId = currentPlayerId,
549
+ let player = videoPlayers[playerId] else {
550
+ call.resolve([
551
+ "result": false,
552
+ "method": "showPlayer",
553
+ "message": "No active player"
554
+ ])
555
+ return
556
+ }
557
+
558
+ DispatchQueue.main.async {
559
+ guard let viewController = self.bridge?.viewController else {
560
+ call.resolve([
561
+ "result": false,
562
+ "method": "showPlayer",
563
+ "message": "Unable to get view controller"
564
+ ])
565
+ return
566
+ }
567
+
568
+ player.show(on: viewController) {
569
+ call.resolve([
570
+ "result": true,
571
+ "method": "showPlayer",
572
+ "value": true
573
+ ])
574
+ }
575
+ }
576
+ }
577
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/capacitor-video-player",
3
- "version": "8.1.23",
3
+ "version": "8.1.25",
4
4
  "description": "Capacitor plugin to play video in native player",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",