Skip to content

Coordinate the output of content associated with your HomeKit lightbulbs. #Ambilight

License

Notifications You must be signed in to change notification settings

alexruperez/AVPlayerItemHomeOutput

Repository files navigation

AVPlayerItemHomeOutput

Twitter Version License Platform Carthage compatible Swift Package Manager Compatible Build Status Code Coverage codebeat badge

AVPlayerItemHomeOutput

The AVPlayerItemHomeOutput lets you coordinate the output of content associated with your HomeKit lightbulbs.

In other words, becomes #Ambilight. 😀

Works with all HomeKit (and HomeBridge) compatible lightbulbs.

AVPlayerItemHomeOutput

Installation

AVPlayerItemHomeOutput is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'AVPlayerItemHomeOutput'

Or you can install it with Carthage:

github "alexruperez/AVPlayerItemHomeOutput"

Or install it with Swift Package Manager:

dependencies: [
    .Package(url: "https://github.com/alexruperez/AVPlayerItemHomeOutput.git")
]

Usage

let sample = URL(string: "https://raw.githubusercontent.com/bower-media-samples/big-buck-bunny-1080p-30s/master/video.mp4")!
let asset = AVAsset(url: sample)
let playerItem = AVPlayerItem(asset: asset)
let homeOutput = AVPlayerItemHomeOutput(playerItem) // Only create your instance...
homeOutput.setDelegate(self, queue: nil) // Optional AVPlayerItemOutputPullDelegate.
playerItem.add(homeOutput) // ...and add it to your AVPlayerItem!
let playerViewController = AVPlayerViewController()
playerViewController.player = AVPlayer(playerItem: playerItem)
present(playerViewController, animated: true) {
        playerViewController.player?.play()
}

Don't forget:

Add NSHomeKitUsageDescription key to your Info.plist to specify the use of HomeKit in your app.

Etc.

  • Contributions are very welcome.
  • Attribution is appreciated (let's spread the word!), but not mandatory.

Authors

alexruperez, contact@alexruperez.com

License

AVPlayerItemHomeOutput is available under the MIT license. See the LICENSE file for more info.