私は外部mp3ファイルをストリーミングするためにAVFoundationのAVPlayerを使用しています。バックエンドには、ファイルが何回ロードされたかをカウントするカウンタがあります。このサービスの唯一のクライアントは私だけであり、AVPlayerを再生するためにトリガーするたびに、カウンターが2つ増えてAVPlayerが要求を2回行うことを意味します。これには理由があるのでしょうか、それをどうやって防ぐことができますか?ここに私のコードは次のとおりです。あなたがAVPlayerItem
を持つプレイヤーを初期化するたびSwiftのAVPlayerが1回の再生でplayerItemを2回ロードするのはなぜですか?
@IBAction func listen(sender: UIButton) {
let urlstring = "http://api.server.com/endpoint-to-mp3"
let url = NSURL(string: urlstring)
let playerItem = AVPlayerItem(URL: url!)
let player = AVPlayer(playerItem: playerItem)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = CGRectMake(0, 0, 300, 50)
self.view.layer.addSublayer(playerLayer)
player.volume = 1.0
player.play()
}
あなたが行われた要求の種類を参照していますか?ヘッダーのみのリクエストでも、実際のデータに対するリクエストでもかまいませんか? – ColGraff