【问题标题】:AVPlayer & AVAudioPlayer not playing audio from URLAVPlayer 和 AVAudioPlayer 不从 URL 播放音频
【发布时间】:2018-02-20 20:51:52
【问题描述】:

我试图从 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 {

      }
  }

它们都不适合我。 请让我知道我哪里出错了。

【问题讨论】:

  • 我不能先下载音频再播放。我希望它从 URL 流式传输。
  • 在 info.plist 文件中允许 http 链接

标签: ios swift3 avfoundation avplayer avaudioplayer


【解决方案1】:

原因是应用程序传输安全性。您需要添加:

<key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoadsForMedia</key>
        <true/>
  </dict>

到您的应用程序的 .plist 文件以从 HTTP 方案加载媒体。 HTTPS 方案不需要这样的例外。

【讨论】:

    【解决方案2】:

    您的代码没有任何问题,它很完美,但问题与音频文件存储的服务器设置有关。这是您成功播放另一个 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()
    
        }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 1970-01-01
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      相关资源
      最近更新 更多