AVFoundation을 프로젝트 일반 정보 탭의 프레임 워크 목록에 추가했을 것입니다.
잘못된 코드는 다음과 같습니다.
import SwiftUI
import AVFoundation
struct PlayerDetailView: View {
@State private var downloadedFilePath: URL = nil
var audioPlayer: AVAudioPlayer
var body: some View {
그리고 var audioPlayer: AVAudioPlayer
선언을 줄 바로 뒤로 옮긴 후에 import AVFoundation
작동하는 것 같습니다.
그래서 다음 코드는 SwiftUI
프로젝트 에서 나를 위해 일했습니다 .
import SwiftUI
import AVFoundation
var audioPlayer: AVAudioPlayer!
struct PlayerDetailView: View {
@State private var downloadedFilePath: URL = nil
var body: some View {
VStack {
Button("Play the Downloaded Track") {
if let downloadedPath = self.downloadedFilePath?.path, FileManager().fileExists(atPath: downloadedPath) {
do {
audioPlayer = try AVAudioPlayer(contentsOf: self.downloadedFilePath!)
guard let player = audioPlayer else { return }
player.prepareToPlay()
player.play()
} catch let error {
print(error.localizedDescription)
}
} else {
print("The file doesn not exist at path || may not have been downloaded yet")
}
}
}
}
}
나는 처음에 CodeWithChris 의이 튜토리얼을 따르고 있었고 그 토론도 위의 변화를 가져 왔습니다. 추가 예제가 필요한 경우 자습서를 따라 체크 아웃하십시오 .
이것이 당신의 누군가에게 도움이되기를 바랍니다!
건배!