Отправьте имя пользователя и пароль для воспроизведения защищенной mp3-песни с URL, используя AVPlayer (Swift) - PullRequest
0 голосов
/ 04 марта 2020

Доброе утро. Сегодня у меня есть одно требование и детали: у меня есть один защищенный URL-адрес песни в формате mp3 (например: http://abcd.com/sample.mp3) и я пытался воспроизвести песню с помощью AVPlayer. Перед публикацией этого вопроса я много искал, но не смог решить проблему . Ниже кода я пробовал и песня не играет. Любые предложения / идеи могут быть очень полезными. Заранее спасибо

Способ 1: ---- Не воспроизводится ни одна песня

        let url  = URL.init(string: "http://abcd.com/sample.mp3")

var audioplayer : AVPlayer?

        let credential = URLCredential(
            user: "username",
            password: "password",
            persistence: .forSession
        )
        let protectionSpace = URLProtectionSpace(
            host: "abcd.com",
            port: 443,
            protocol: "http",
            realm: nil,
            authenticationMethod: NSURLAuthenticationMethodHTTPBasic
        )
        URLCredentialStorage.shared.setDefaultCredential(credential, for: protectionSpace)

        let playerItem: AVPlayerItem = AVPlayerItem(url: url!)

        audioplayer =   AVPlayer(playerItem: playerItem)
        audioplayer?.play()

Способ 2: Получение cra * sh на аудиоплеере ? .play () и показывает cra sh как нераспознанный селектор, отправленный на ....

        let headers: HTTPHeaders = [
           "Username": "username",
            "Password": "password"
        ]

        let asset = AVURLAsset(url: URL(string: "http://abcd.com/sample.mp3")!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
 let playerItem = AVPlayerItem(asset: asset)
 audioplayer =   AVPlayer(playerItem: playerItem)
 audioplayer?.play()
...