2016-10-26 5 views
1

mir bitte helfen, melden Sie sich gezeigt spielen, aber kein Ton zu hören istAvplayer spielt nicht mit schnellen 3 (Xcode 8)

let url = URL(string: "https://s3.amazonaws.com/kargopolov/BlueCafe.mp3") 
     let playerItem = AVPlayerItem(url: url! as URL) 
     let player=AVPlayer(playerItem: playerItem) 
     player.volume=1.0 

     player.play() 

     if (player.rate != 0 && player.error == nil) { 
      print("playing") 
     } 
     else 
     { 
      print("error",player.error) 
     } 
+0

Ihr Player verlässt den Gültigkeitsbereich, Sie müssen ihn einer Instanzvariablen zuweisen. –

+0

wie das zu tun, wie ich änderte, um Player = AVPlayer.init (playerItem: playerItem) noch nicht spielen –

Antwort

2

Sie müssen den Spieler zu einer Variablen zuzuweisen, die nicht aus geht

Umfang, zB
class ViewControllerA: UIViewController { 

    var avPlayer: AVPlayer! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view 
    } 

    override func viewDidAppear(_ animated: Bool) { 
     let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") 
     avPlayer = AVPlayer(url: videoURL! as URL) 
     let playerLayer = AVPlayerLayer(player: avPlayer) 
     playerLayer.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.width * 3.0/4.0) 
     self.view.layer.addSublayer(playerLayer) 
     avPlayer.play() 
    } 
} 
0

Declare Spieler Variable vor

var playerT : AVPlayer! 

Jetzt können Sie Lied von uRL spielen

let url = URL(string: "https://s3.amazonaws.com/kargopolov/BlueCafe.mp3") 

       playerT = AVPlayer(url: url!) 
       playerT.volume = 1.0 
       playerT.play() 

       if playerT.rate != 0 && playerT.error == nil{ 
        print("Playing") 
       }else{ 
        print("Error Playing") 
       } 
+0

in Ihrer Antwort beschreibender sein – Himanshu

Verwandte Themen