재생 목록 플레이어
- 잠금화면 플레이어 추가
This commit is contained in:
@@ -105,8 +105,8 @@ extension ContentPlayManager {
|
||||
UIApplication.shared.beginReceivingRemoteControlEvents()
|
||||
}
|
||||
|
||||
self.registerNowPlayingInfoCenter()
|
||||
self.registerRemoteControlEvents()
|
||||
self.fetchAlbumArtAndUpdateNowPlayingInfo()
|
||||
} catch {
|
||||
DispatchQueue.main.async {
|
||||
self.showError()
|
||||
@@ -193,7 +193,39 @@ extension ContentPlayManager {
|
||||
self.resetAudioData()
|
||||
}
|
||||
|
||||
private func registerNowPlayingInfoCenter() {
|
||||
private func fetchAlbumArtAndUpdateNowPlayingInfo() {
|
||||
guard let url = URL(string: coverImage) else {
|
||||
print("잘못된 이미지 URL")
|
||||
registerNowPlayingInfoCenter(with: nil) // 앨범 아트 없이 업데이트
|
||||
return
|
||||
}
|
||||
|
||||
// URLSession을 사용하여 비동기적으로 이미지 다운로드
|
||||
URLSession.shared.dataTask(with: url) { [weak self] data, _, error in
|
||||
if let error = error {
|
||||
print("앨범 아트 다운로드 실패: \(error.localizedDescription)")
|
||||
DispatchQueue.main.async {
|
||||
self?.registerNowPlayingInfoCenter(with: nil) // 앨범 아트 없이 업데이트
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
guard let data = data, let image = UIImage(data: data) else {
|
||||
print("이미지 데이터를 가져오지 못했습니다.")
|
||||
DispatchQueue.main.async {
|
||||
self?.registerNowPlayingInfoCenter(with: nil) // 앨범 아트 없이 업데이트
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 성공적으로 다운로드된 이미지를 사용
|
||||
DispatchQueue.main.async {
|
||||
self?.registerNowPlayingInfoCenter(with: image)
|
||||
}
|
||||
}.resume()
|
||||
}
|
||||
|
||||
private func registerNowPlayingInfoCenter(with albumArtImage: UIImage?) {
|
||||
let center = MPNowPlayingInfoCenter.default()
|
||||
var nowPlayingInfo = center.nowPlayingInfo ?? [String: Any]()
|
||||
|
||||
|
Reference in New Issue
Block a user