Skip to content

Instantly share code, notes, and snippets.

@yoshimin
yoshimin / gist:dcfbc5fd3e142b4d17a6
Created September 17, 2014 16:51
NSNotificationCenterの登録
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: self.playerItem)
@yoshimin
yoshimin / gist:a14e6fb592f736aafc68
Created September 17, 2014 16:49
AVPlayerLayer をホストする UIView のサブクラス
import UIKit
import AVFoundation
class AVPlayerView : UIView {
// UIViewのサブクラスを作りlayerClassメソッドをオーバーライドしてAVPlayerLayerに差し替える
override class func layerClass() -> AnyClass {
return AVPlayerLayer.self
}
@yoshimin
yoshimin / gist:670e2d551cb9afcd8cd4
Created September 17, 2014 16:48
AVPlayerで動画を再生
// サンプル動画のパスを取得
let bundle = NSBundle.mainBundle()
let url: NSURL = NSBundle.mainBundle().URLForResource("sample", withExtension: "mp4")!
// 動画のパスを指定してplayerItemを生成
self.playerItem = AVPlayerItem(URL: url)
// 上で生成したplayerItemを指定してplayerを生成
self.videoPlayer = AVPlayer(playerItem: self.playerItem)
@yoshimin
yoshimin / gist:5127b0daa2af3f71c7b5
Created September 17, 2014 16:25
クロージャーでweak参照
self.videoTimeObserver = self.videoPlayer!.addPeriodicTimeObserverForInterval(CMTimeMake(150, 600),
queue: dispatch_get_main_queue(),
usingBlock: {[unowned self](CMTime) in
self.syncSeekber()
self.updateTimeLabel()
})
@yoshimin
yoshimin / gist:9da30a1d64e1f4dbbcfc
Created September 17, 2014 16:04
CMTimeのカテゴリ
extension CMTime {
var isValid:Bool {
return (flags & .Valid) != nil
}
}
@yoshimin
yoshimin / gist:5f355273c0a77940472f
Created September 17, 2014 15:57
AVPlayerLayerを返す(Swift)
override class func layerClass() -> AnyClass {
return AVPlayerLayer.self
}
@yoshimin
yoshimin / gist:fa043dfab088be56f3e9
Last active August 29, 2015 14:06
AVPlayerLayerを返す(Objective-C)
+ (Class)layerClass
{
return [AVPlayerLayer class];
}
CGContextRef squareContext = UIGraphicsGetCurrentContext();
CGContextClearRect(squareContext, cropRect);
CGImageRef srcImageRef = self.imageView.image.CGImage;
CGImageRef croppedImageRef = CGImageCreateWithImageInRect(srcImageRef, [切り取る枠のCGRectを指定]);
UIImage *croppedImage = [UIImage imageWithCGImage:croppedImageRef];
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;