swift - 在 iOS Swift 中流式传输 Spotify Preview_url

标签 swift mp3 spotify

我正在尝试流式传输 Spotify 从其 Web API 提供的预览 URL运行良好,我得到了正确的链接,但它们无法正常播放。

示例网址为 https://p.scdn.co/mp3-preview/757bc5732e5c92e36ea249d631120b381a4885e2?cid=e188f3e083e741659b2ef6cfb07cddbd.mp3我正在尝试使用与此 question 中讨论的完全相同的代码,我可以让它与他们在问题中提供的 URL 一起使用,但它不适用于 Spotify 示例。任何帮助将非常感激。

       let url = URL(string: "https://p.scdn.co/mp3-preview/757bc5732e5c92e36ea249d631120b381a4885e2?cid=e188f3e083e741659b2ef6cfb07cddbd.mp3")
    let playerItem:AVPlayerItem = AVPlayerItem(url: url!)
    player = AVPlayer(playerItem: playerItem)

    let playerLayer=AVPlayerLayer(player: player!)
    playerLayer.frame=CGRect(x:0, y:0, width:10, height:50)
    self.view.layer.addSublayer(playerLayer)
    player.play()

最佳答案

该类型的 Spotify 预览网址仅持续 30 秒。它们可以通过 AVPlayer 播放,

import UIKit
import AVFoundation
class AudioVC : UIViewController {
var player = AVAudioPlayer()

    override func viewDidLoad() {
    let previewURL = "https://p.scdn.co/mp3-preview/757bc5732e5c92e36ea249d631120b381a4885e2?cid=e188f3e083e741659b2ef6cfb07cddbd.mp3"

         downloadFileFromURL(url: URL(string: previewURL)!)

       }

    func downloadFileFromURL(url: URL){
        var downloadTask = URLSessionDownloadTask()
        downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: {
            customURL, response, error in

            self.play(url: customURL!)

        })

        downloadTask.resume()


    }

    func play(url: URL) {

        do {
            player = try AVAudioPlayer(contentsOf: url)
            player.prepareToPlay()
            player.play()

        }
        catch{
            print(error)
        }}
 }  

关于swift - 在 iOS Swift 中流式传输 Spotify Preview_url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57933320/

相关文章:

swift - handleWatchKitExtentionRequest ...如何访问回复元素以将值返回给 watchkit 扩展?

ios - 从另一个类检索字符串值

linux - 在 Fedora 23 下 1h 33m 后使用 arecord 的记录停止

Python请求库头授权问题

ios - YTPlayer 以特定帧宽度和高度播放视频

ios - Xcode 8.2 Playground 中 'PAGE' 描述的格式是哪个?

android - 从站点/服务器流式传输 mp3

Android SDK MediaPlayer 没有正确寻找

powershell - 从 powershell 播放 spotify

javascript - 循环对象数组 - TypeError : Cannot read property 'name' of undefined