MediaQueue methods: android
This commit is contained in:
parent
e1b195a435
commit
65ed8a14a7
2 changed files with 25 additions and 4 deletions
|
|
@ -10,10 +10,7 @@ import androidx.lifecycle.OnLifecycleEvent
|
|||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import com.gianlucaparadise.flutter_cast_framework.cast.CastDialogOpener
|
||||
import com.gianlucaparadise.flutter_cast_framework.cast.MessageCastingChannel
|
||||
import com.gianlucaparadise.flutter_cast_framework.media.getFlutterMediaInfo
|
||||
import com.gianlucaparadise.flutter_cast_framework.media.getFlutterMediaStatus
|
||||
import com.gianlucaparadise.flutter_cast_framework.media.getMediaLoadRequestData
|
||||
import com.gianlucaparadise.flutter_cast_framework.media.getMediaQueueItem
|
||||
import com.gianlucaparadise.flutter_cast_framework.media.*
|
||||
import com.google.android.gms.cast.MediaError
|
||||
import com.google.android.gms.cast.MediaStatus.*
|
||||
import com.google.android.gms.cast.framework.CastContext
|
||||
|
|
@ -414,6 +411,17 @@ class FlutterCastFrameworkPlugin : FlutterPlugin, MethodCallHandler, ActivityAwa
|
|||
remoteMediaClient.queuePrev(null)
|
||||
}
|
||||
|
||||
override fun getQueueItemCount(): Long {
|
||||
return mediaQueue?.itemCount?.toLong() ?: -1
|
||||
}
|
||||
|
||||
override fun getQueueItemAtIndex(index: Long?): PlatformBridgeApis.MediaQueueItem {
|
||||
if (index == null || index < 0) return getFlutterMediaQueueItem(null)
|
||||
|
||||
val mediaQueueItem = mediaQueue?.getItemAtIndex(index.toInt(), true)
|
||||
return getFlutterMediaQueueItem(mediaQueueItem)
|
||||
}
|
||||
|
||||
override fun setMute(muted: Boolean?) {
|
||||
if (muted == null) return
|
||||
val castSession = mCastSession ?: return
|
||||
|
|
|
|||
|
|
@ -158,3 +158,16 @@ fun getFlutterMediaType(mediaType: Int?): PlatformBridgeApis.MediaType {
|
|||
else -> PlatformBridgeApis.MediaType.generic
|
||||
}
|
||||
}
|
||||
|
||||
fun getFlutterMediaQueueItem(item: MediaQueueItem?): PlatformBridgeApis.MediaQueueItem {
|
||||
val mediaInto = getFlutterMediaInfo(item?.media)
|
||||
|
||||
return PlatformBridgeApis.MediaQueueItem().apply {
|
||||
itemId = item?.itemId?.toLong() ?: -1
|
||||
autoplay = item?.autoplay ?: false
|
||||
playbackDuration = item?.playbackDuration ?: -1.0
|
||||
startTime = item?.startTime ?: 0.0
|
||||
preloadTime = item?.preloadTime ?: 0.0
|
||||
media = mediaInto
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue