Я пытаюсь загрузить удаленный MP3 через AVAudioPlayer
в Swift 4. Пока все работает просто замечательно.
Теперь я пытаюсь загрузить наш безопасный URL-адрес, который использует для аутентификации базовую аутентификацию.
У меня есть следующее:
let username = "my_username"
let password = "my_password"
let loginString = String(format: "%@:%@", username, password)
let loginData = loginString.data(using: String.Encoding.utf8)!
let base64LoginString = loginData.base64EncodedString()
// create the request
let url = URL(string: "https://audio.my_domain.com/\(hashKey)/my_file.mp3")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
guard let audioPlayer = try? AVAudioPlayer(contentsOf: request) else {
self.endPlayback()
return
}
Конечно,я получаю следующую ошибку:
Невозможно преобразовать значение типа 'URLRequest' в ожидаемый тип аргумента 'URL'
Я не удивлен этим как URL
не является URLRequest
объектом.Итак, мой вопрос.Как я могу загрузить поток URL-адресов в AVAudioPlayer
с использованием обычной HTTP-аутентификации?
Я не могу найти нигде, где это делается.Возможно, это невозможно?