Skip to content

Commit

Permalink
update chapter 16 examples so they compile
Browse files Browse the repository at this point in the history
  • Loading branch information
mattneub committed Sep 27, 2016
1 parent 037f01a commit 0f0333e
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 37 deletions.
10 changes: 5 additions & 5 deletions bk2ch16p678mediaQuery/ch29p946mediaQuery/ViewController.swift
Expand Up @@ -57,19 +57,19 @@ class ViewController: UIViewController {
let r = UIGraphicsImageRenderer(size:sz)
let im1 = r.image {
_ in
UIColor.black().setFill()
UIColor.black.setFill()
UIBezierPath(ovalIn:
CGRect(0,0,sz.height,sz.height)).fill()
}
let im2 = r.image {
_ in
UIColor.red().setFill()
UIColor.red.setFill()
UIBezierPath(ovalIn:
CGRect(0,0,sz.height,sz.height)).fill()
}
let im3 = r.image {
_ in
UIColor.orange().setFill()
UIColor.orange.setFill()
UIBezierPath(ovalIn:
CGRect(0,0,sz.height,sz.height)).fill()
}
Expand Down Expand Up @@ -224,7 +224,7 @@ class ViewController: UIViewController {
}
self.label.text = ""
let player = MPMusicPlayerController.applicationMusicPlayer()
guard n.object === player else { return } // just playing safe
guard (n.object as AnyObject) === player else { return } // just playing safe
guard let title = player.nowPlayingItem?.title else {return}
let ix = player.indexOfNowPlayingItem
guard ix != NSNotFound else {return}
Expand All @@ -233,7 +233,7 @@ class ViewController: UIViewController {

func timerFired(_: Any) {
let player = MPMusicPlayerController.applicationMusicPlayer()
guard let item = player.nowPlayingItem where player.playbackState != .stopped else {
guard let item = player.nowPlayingItem, player.playbackState != .stopped else {
self.prog.isHidden = true
return
} //
Expand Down
64 changes: 32 additions & 32 deletions bk2ch16p687AVQueuePlayer/ch29p952AVQueuePlayer/ViewController.swift
Expand Up @@ -56,7 +56,7 @@ class ViewController: UIViewController {
var avplayer : AVPlayer!
var qp : AVQueuePlayer!
var items = [AVPlayerItem]()
var ob : AnyObject!
var ob : Any!
@IBOutlet var prog : UIProgressView!
@IBOutlet var label : UILabel!

Expand Down Expand Up @@ -185,7 +185,7 @@ class ViewController: UIViewController {

}

override func observeValue(forKeyPath keyPath: String?, of object: AnyObject?, change: [NSKeyValueChangeKey : AnyObject]?, context: UnsafeMutablePointer<Void>?) {
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == #keyPath(AVQueuePlayer.currentItem) {
self.changed()
}
Expand Down Expand Up @@ -243,37 +243,37 @@ class ViewController: UIViewController {

// ======== respond to remote controls

override func canBecomeFirstResponder() -> Bool {
return true
override func viewDidLoad() {
super.viewDidLoad()
let scc = MPRemoteCommandCenter.shared()
scc.togglePlayPauseCommand.addTarget(self, action: #selector(doPlayPause))
scc.playCommand.addTarget(self, action:#selector(doPlay))
scc.pauseCommand.addTarget(self, action:#selector(doPause))
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.becomeFirstResponder()
UIApplication.shared.beginReceivingRemoteControlEvents()

func doPlayPause(_ event:MPRemoteCommandEvent) {
print("playpause")
let p = self.player.player!
if p.isPlaying { p.pause() } else { p.play() }
}

override func remoteControlReceived(with event: UIEvent?) {
let rc = event!.subtype
print("received remote control \(rc.rawValue)")

let p = self.curplayer!
switch rc {
case .remoteControlTogglePlayPause:
if p.playing { p.pause() } else { p.doPlay() }
case .remoteControlPlay:
p.doPlay()
case .remoteControlPause:
p.pause()
case .remoteControlNextTrack:
if let p = p as? AVQueuePlayer {
p.advanceToNextItem()
}
default:break
}

func doPlay(_ event:MPRemoteCommandEvent) {
print("play")
let p = self.player.player!
p.play()
}



func doPause(_ event:MPRemoteCommandEvent) {
print("pause")
let p = self.player.player!
p.pause()
}

deinit {
let scc = MPRemoteCommandCenter.shared()
scc.togglePlayPauseCommand.removeTarget(self)
scc.playCommand.removeTarget(self)
scc.pauseCommand.removeTarget(self)
}



}

0 comments on commit 0f0333e

Please sign in to comment.