MediaQueue methods: ios
This commit is contained in:
parent
65ed8a14a7
commit
96e0ad4adf
2 changed files with 35 additions and 0 deletions
|
|
@ -247,3 +247,20 @@ func getFlutterMediaType(mediaType: GCKMediaMetadataType?) -> MediaType {
|
|||
}
|
||||
}
|
||||
|
||||
func getFlutterMediaQueueItem(item: GCKMediaQueueItem?) -> MediaQueueItem {
|
||||
let result = MediaQueueItem()
|
||||
|
||||
if (item == nil) {
|
||||
result.itemId = -1
|
||||
} else {
|
||||
result.itemId = NSNumber(value: item?.itemID ?? 0)
|
||||
}
|
||||
|
||||
result.autoplay = NSNumber(value: item?.autoplay ?? false)
|
||||
result.playbackDuration = NSNumber(value: item?.playbackDuration ?? -1)
|
||||
result.startTime = NSNumber(value: item?.startTime ?? 0)
|
||||
result.preloadTime = NSNumber(value: item?.preloadTime ?? 0)
|
||||
result.media = getFlutterMediaInfo(mediaInfo: item?.mediaInformation)
|
||||
|
||||
return result
|
||||
}
|
||||
|
|
|
|||
|
|
@ -363,6 +363,24 @@ public class SwiftFlutterCastFrameworkPlugin: NSObject, FlutterPlugin, GCKSessio
|
|||
remoteMediaClient?.queuePreviousItem()
|
||||
}
|
||||
|
||||
public func getQueueItemCountWithError(_ error: AutoreleasingUnsafeMutablePointer<FlutterError?>) -> NSNumber? {
|
||||
if (mediaQueue == nil) {
|
||||
return -1
|
||||
}
|
||||
|
||||
let itemCount = mediaQueue?.itemCount ?? 0
|
||||
return NSNumber(value: itemCount)
|
||||
}
|
||||
|
||||
public func getQueueItemAtIndexIndex(_ index: NSNumber, error: AutoreleasingUnsafeMutablePointer<FlutterError?>) -> MediaQueueItem? {
|
||||
if (index.intValue < 0) {
|
||||
return getFlutterMediaQueueItem(item: nil)
|
||||
}
|
||||
|
||||
let mediaQueueItem = mediaQueue?.item(at: index.uintValue, fetchIfNeeded: true)
|
||||
return getFlutterMediaQueueItem(item: mediaQueueItem)
|
||||
}
|
||||
|
||||
// MARK: - GCKSessionManagerListener
|
||||
|
||||
// onSessionSuspended
|
||||
|
|
|
|||
Loading…
Reference in a new issue