修复: 剧集播放器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:
beyondandClaude Opus 5 committed 2026-09-06 18:37:59 +08:00
1 parent 807445eafa
commit 7c991c04be
1 file changed
+15 -1
@@ -499,11 +499,25 @@ private fun PlayerDestination(
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 {
target != null -> VideoPlayerScreen(
title = target.name,
seriesName = target.seriesName.orEmpty(),
titleLogoUrl = target.getLogoUrl(server?.fullUrl.orEmpty()).orEmpty(),
titleLogoUrl = logoUrl,
serverName = server?.name.orEmpty(),
serverIconUrl = server?.iconUrl.orEmpty(),
serverUrl = server?.fullUrl.orEmpty(),