修复: 剧集播放器logo使用series ID获取
- 剧集的logo在series级别,不是episode级别 - 构建logo URL时检测是否为剧集(seriesId != id) - 剧集使用seriesId请求logo,电影使用自身id - 确保电视剧和电影都能正确显示emby艺术文字 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
807445eafa
commit
7c991c04be
1 file changed
+15
-1
@@ -499,11 +499,25 @@ private fun PlayerDestination(
|
|||||||
if (playbackUrl.isNullOrBlank()) playbackError = playbackUrlFailedMessage
|
if (playbackUrl.isNullOrBlank()) playbackError = playbackUrlFailedMessage
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Compute logo URL: for episodes, logo is on the series item, not the episode
|
||||||
|
val logoUrl = target?.let { t ->
|
||||||
|
val serverUrl = server?.fullUrl.orEmpty()
|
||||||
|
if (serverUrl.isBlank()) null
|
||||||
|
else {
|
||||||
|
val logoTag = t.logoImageTag
|
||||||
|
if (logoTag != null) {
|
||||||
|
// Use series ID for episode logos (logo lives on series, not episode)
|
||||||
|
val logoItemId = if (t.seriesId != null && t.id != t.seriesId) t.seriesId else t.id
|
||||||
|
"$serverUrl/emby/Items/$logoItemId/Images/Logo?tag=$logoTag&maxWidth=600&quality=90"
|
||||||
|
} else null
|
||||||
|
}
|
||||||
|
}.orEmpty()
|
||||||
|
|
||||||
when {
|
when {
|
||||||
target != null -> VideoPlayerScreen(
|
target != null -> VideoPlayerScreen(
|
||||||
title = target.name,
|
title = target.name,
|
||||||
seriesName = target.seriesName.orEmpty(),
|
seriesName = target.seriesName.orEmpty(),
|
||||||
titleLogoUrl = target.getLogoUrl(server?.fullUrl.orEmpty()).orEmpty(),
|
titleLogoUrl = logoUrl,
|
||||||
serverName = server?.name.orEmpty(),
|
serverName = server?.name.orEmpty(),
|
||||||
serverIconUrl = server?.iconUrl.orEmpty(),
|
serverIconUrl = server?.iconUrl.orEmpty(),
|
||||||
serverUrl = server?.fullUrl.orEmpty(),
|
serverUrl = server?.fullUrl.orEmpty(),
|
||||||
|
|||||||
Reference in new issue
Block a user