//
// LocalView.swift
// Bremer
//
// Created by yhornisse on 2023/08/22.
//
import SwiftUI
import AVFoundation
struct LocalView : View {
@EnvironmentObject
private var audioPlayerViewModel : AudioPlayerViewModel
var body : some View {
VStack {
Text("ダウンロード済")
List {
ForEach(audioPlayerViewModel.audioQueue, id:\.slug) {audio in
Button(action: {
if audioPlayerViewModel.exists(audio.slug) {
audioPlayerViewModel.playAudioList(audioList: audioPlayerViewModel.audioQueue,
audio: audio,
usedBy: "local")
} else {
// TODO 削除して詰める
// localAudioPlayerViewModel.remove
}
}) {
Text("\(audio.name) - \(audio.album ?? "")")
.font(.system(size: 14))
.frame(height: 35, alignment: .center)
.aspectRatio(contentMode: .fit)
}
}
}
.listStyle(.plain)
Spacer()
Divider()
AudioPlayerView(audioPlayerViewModel: audioPlayerViewModel)
}
.onReceive(NotificationCenter.default.publisher(for: AVAudioSession.routeChangeNotification), perform: { param in
audioPlayerViewModel.onChangeAudioSessionRoute(param)
})
.onReceive(NotificationCenter.default.publisher(for: AVAudioSession.interruptionNotification), perform: { param in
audioPlayerViewModel.onInterrupted(param)
})
}
}