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 androidx.lifecycle.ProcessLifecycleOwner
|
||||||
import com.gianlucaparadise.flutter_cast_framework.cast.CastDialogOpener
|
import com.gianlucaparadise.flutter_cast_framework.cast.CastDialogOpener
|
||||||
import com.gianlucaparadise.flutter_cast_framework.cast.MessageCastingChannel
|
import com.gianlucaparadise.flutter_cast_framework.cast.MessageCastingChannel
|
||||||
import com.gianlucaparadise.flutter_cast_framework.media.getFlutterMediaInfo
|
import com.gianlucaparadise.flutter_cast_framework.media.*
|
||||||
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.google.android.gms.cast.MediaError
|
import com.google.android.gms.cast.MediaError
|
||||||
import com.google.android.gms.cast.MediaStatus.*
|
import com.google.android.gms.cast.MediaStatus.*
|
||||||
import com.google.android.gms.cast.framework.CastContext
|
import com.google.android.gms.cast.framework.CastContext
|
||||||
|
|
@ -414,6 +411,17 @@ class FlutterCastFrameworkPlugin : FlutterPlugin, MethodCallHandler, ActivityAwa
|
||||||
remoteMediaClient.queuePrev(null)
|
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?) {
|
override fun setMute(muted: Boolean?) {
|
||||||
if (muted == null) return
|
if (muted == null) return
|
||||||
val castSession = mCastSession ?: return
|
val castSession = mCastSession ?: return
|
||||||
|
|
|
||||||
|
|
@ -158,3 +158,16 @@ fun getFlutterMediaType(mediaType: Int?): PlatformBridgeApis.MediaType {
|
||||||
else -> PlatformBridgeApis.MediaType.generic
|
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