Friday, 6 January 2017

Play music MP3 file example in Swift

Play music MP3 file example in Swift


** Setup View Like Below : -







** Write in ViewController.swift


import UIKit

import AVFoundation

class SecondViewController: UIViewController {

      @IBOutlet weak var playButton: UIButton!
    
    var playerItem:AVPlayerItem?
    var player:AVPlayer?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        

        let url = NSURL(string: "https://s3.amazonaws.com/kargopolov/BlueCafe.mp3")
        playerItem = AVPlayerItem(url: url! as URL)
        player=AVPlayer(playerItem: playerItem!)
        let playerLayer=AVPlayerLayer(player: player!)
        playerLayer.frame=CGRect(origin: CGPoint(x: 0,y :0), size: CGSize(width: 300, height: 50))
        self.view.layer.addSublayer(playerLayer)
        
    }

    

    @IBAction func addButtonClicked(_ sender: UIButton){
        if player?.rate == 0
        {
            player!.play()
            playButton.setImage(UIImage(named: "player_control_pause_50px.png"), for: UIControlState.normal)
        } else {
            player!.pause()
            playButton.setImage(UIImage(named: "player_control_play_50px.png"), for: UIControlState.normal)
        }
    }
    
    
    override func viewWillAppear(_ animated: Bool) {
        NotificationCenter.default.addObserver(self, selector: Selector(("finishedPlaying:")), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem)
    }
    
    override func viewWillDisappear(_ animated: Bool) {
        NotificationCenter.default.removeObserver(self)
    }
    
    func finishedPlaying(myNotification:NSNotification) {
        playButton.setImage(UIImage(named: "player_control_play_50px.png"), for: UIControlState.normal)
        
        let stopedPlayerItem: AVPlayerItem = myNotification.object as! AVPlayerItem
        stopedPlayerItem.seek(to: kCMTimeZero)
    }

}






No comments:

Post a Comment