콘텐츠 플레이어 - 재생목록

- 아이템을 터치했을 때 현재 index도 같이 변경되도록 수정해서 이전/이후 재생시 현재 아이템 기준으로 이전/이후 콘텐츠가 재생되도록 수정
This commit is contained in:
Yu Sung 2025-02-26 17:20:12 +09:00
parent 7b3a3d2a80
commit ee22a0a77e
3 changed files with 13 additions and 4 deletions

View File

@ -34,6 +34,15 @@ class AudioContentPlaylistManager {
return nil
}
func findByContentId(contentId: Int) -> AudioContentPlaylistContent? {
if let index = playlist.firstIndex(where: { $0.id == contentId }), !playlist.isEmpty {
currentIndex = index
return playlist[index]
}
return nil
}
func hasNextContent() -> Bool {
return currentIndex + 1 < playlist.count
}

View File

@ -174,8 +174,8 @@ final class ContentPlayerPlayManager: NSObject, ObservableObject {
}
}
func playSelectedContent(content: AudioContentPlaylistContent) {
if content.id != id {
func playSelectedContent(contentId: Int) {
if let content = playlistManager?.findByContentId(contentId: contentId) {
generateUrl(contentId: content.id) { [unowned self] url in
self.urlGenerateSuccess(content: content, url: url)
} onFailure: {

View File

@ -51,7 +51,7 @@ struct ContentPlayerView: View {
.padding(.top, 21)
}
Spacer()
Spacer(minLength: 13.3)
if playerManager.isShowPlaylist {
ScrollView(.vertical) {
@ -69,7 +69,7 @@ struct ContentPlayerView: View {
)
.cornerRadius(6.7)
.onTapGesture {
playerManager.playSelectedContent(content: item)
playerManager.playSelectedContent(contentId: item.id)
}
}
}