Fork me on GitHub

Alex Rupérez

Language: Swift
Published: 15 May 14:03
Last push: 29 Jul 01:33
Description: Coordinate the output of content associated with your HomeKit lightbulbs. #Ambilight
View on GitHub


View README


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.