MediaQueue callbacks ios
This commit is contained in:
parent
638a2034b7
commit
3f4044ad2e
1 changed files with 61 additions and 1 deletions
|
|
@ -2,7 +2,7 @@ import Flutter
|
||||||
import UIKit
|
import UIKit
|
||||||
import GoogleCast
|
import GoogleCast
|
||||||
|
|
||||||
public class SwiftFlutterCastFrameworkPlugin: NSObject, FlutterPlugin, GCKSessionManagerListener, CastHostApi, GCKRemoteMediaClientListener {
|
public class SwiftFlutterCastFrameworkPlugin: NSObject, FlutterPlugin, GCKSessionManagerListener, CastHostApi, GCKRemoteMediaClientListener, GCKMediaQueueDelegate {
|
||||||
public static func register(with registrar: FlutterPluginRegistrar) {
|
public static func register(with registrar: FlutterPluginRegistrar) {
|
||||||
let messenger : FlutterBinaryMessenger = registrar.messenger()
|
let messenger : FlutterBinaryMessenger = registrar.messenger()
|
||||||
let flutterApi = CastFlutterApi.init(binaryMessenger: messenger)
|
let flutterApi = CastFlutterApi.init(binaryMessenger: messenger)
|
||||||
|
|
@ -74,6 +74,20 @@ public class SwiftFlutterCastFrameworkPlugin: NSObject, FlutterPlugin, GCKSessio
|
||||||
newValue?.add(self)
|
newValue?.add(self)
|
||||||
|
|
||||||
_remoteMediaClient = newValue
|
_remoteMediaClient = newValue
|
||||||
|
mediaQueue = newValue?.mediaQueue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var _mediaQueue: GCKMediaQueue?
|
||||||
|
var mediaQueue: GCKMediaQueue? {
|
||||||
|
get { return _mediaQueue }
|
||||||
|
set {
|
||||||
|
debugPrint("Updating mediaQueue - mediaQueue changed: \(_mediaQueue != newValue)")
|
||||||
|
|
||||||
|
_mediaQueue?.remove(self)
|
||||||
|
newValue?.add(self)
|
||||||
|
|
||||||
|
_mediaQueue = newValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -515,4 +529,50 @@ public class SwiftFlutterCastFrameworkPlugin: NSObject, FlutterPlugin, GCKSessio
|
||||||
flutterApi.onQueueStatusUpdated { (_:Error?) in
|
flutterApi.onQueueStatusUpdated { (_:Error?) in
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// mediaQueueWillChange
|
||||||
|
public func mediaQueueWillChange(_ queue: GCKMediaQueue) {
|
||||||
|
debugPrint("MediaQueueListener: mediaQueueWillChange")
|
||||||
|
flutterApi.mediaQueueWillChange { (_:Error?) in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// mediaQueueChanged
|
||||||
|
public func mediaQueueDidChange(_ queue: GCKMediaQueue) {
|
||||||
|
debugPrint("MediaQueueListener: mediaQueueDidChange")
|
||||||
|
flutterApi.mediaQueueChanged { (_:Error?) in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// itemsReloaded
|
||||||
|
public func mediaQueueDidReloadItems(_ queue: GCKMediaQueue) {
|
||||||
|
debugPrint("MediaQueueListener: mediaQueueDidReloadItems")
|
||||||
|
flutterApi.itemsReloaded { (_:Error?) in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// itemsInsertedInRange
|
||||||
|
public func mediaQueue(_ queue: GCKMediaQueue, didInsertItemsIn range: NSRange) {
|
||||||
|
debugPrint("MediaQueueListener: mediaQueueDidInsertItemsIn")
|
||||||
|
let count = range.upperBound - range.lowerBound
|
||||||
|
let start = range.lowerBound
|
||||||
|
flutterApi.itemsInserted(inRangeInsertIndex: NSNumber(value: start), insertCount: NSNumber(value: count)) { (_:Error?) in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// itemsUpdatedAtIndexes
|
||||||
|
public func mediaQueue(_ queue: GCKMediaQueue, didUpdateItemsAtIndexes indexes: [NSNumber]) {
|
||||||
|
debugPrint("MediaQueueListener: mediaQueueDidUpdateItemsAtIndexes")
|
||||||
|
flutterApi.itemsUpdated(atIndexesIndexes: indexes) { (_:Error?) in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// itemsRemovedAtIndexes
|
||||||
|
public func mediaQueue(_ queue: GCKMediaQueue, didRemoveItemsAtIndexes indexes: [NSNumber]) {
|
||||||
|
debugPrint("MediaQueueListener: mediaQueueDidRemoveItemsAtIndexes")
|
||||||
|
flutterApi.itemsRemoved(atIndexesIndexes: indexes) { (_:Error?) in
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// itemsReorderedAtIndexes - Can't find on iOS
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue