AVPlayer 和 AVAudioPlayer 不从 URL 播放音频

Mal*_*oni 2 avfoundation avaudioplayer ios avplayer swift3

我试图从 URL 播放音频。我尝试了 AVPlayer 和 AVAudioPlayer 但它们都不起作用。

这是我正在尝试播放的URL

这是我正在使用的代码。

 // AVPlayer Code
 self.avPlayerItem = AVPlayerItem.init(url: urlOfAudio)
 self.avPlayer = AVPlayer.init(playerItem: avPlayerItem)
 self.avPlayer.volume = 1.0
 self.avPlayer.play()

 // AVAudioPlayer
 if let url = URL.init(string: escapeCharactorString){
      do {
           self.playerReference = try AVAudioPlayer.init(contentsOf: url)
           guard let player = playerReference else { 
               return
           }                    
           player.volume = 1.0
           player.prepareToPlay()
           player.numberOfLoops = -1                    
           player.play() 
      } catch let error {

      }
  }
Run Code Online (Sandbox Code Playgroud)

他们都没有为我工作。请让我知道我哪里出错了。

aru*_*007 5

您的代码没有任何问题,它很完美,但问题与存储音频文件的服务器设置有关。这是您成功播放其他 mp3 文件的工作代码,

var avPlayer:AVPlayer?
var avPlayerItem:AVPlayerItem?

override func viewDidLoad() {
    super.viewDidLoad()

//        let urlstring = "http://www.noiseaddicts.com/samples_1w72b820/2514.mp3"
        let urlstring = "https://s3.amazonaws.com/kargopolov/kukushka.mp3"
        let url = NSURL(string: urlstring)
        print("playing \(String(describing: url))")

        avPlayerItem = AVPlayerItem.init(url: url! as URL)
        avPlayer = AVPlayer.init(playerItem: avPlayerItem)
        avPlayer?.volume = 1.0
        avPlayer?.play()

    }
Run Code Online (Sandbox Code Playgroud)

所以请尝试使用不同主机的 mp3 文件,它将解决您的问题