Play music MP3 file example in 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