Edited at

AVPlayerで動画を再生する時の小ネタ

備忘録を兼ねた,タイトル通りの小ネタです.


動画再生用のレイヤーとビューのサイズを揃える

layerClassをオーバーライドし,AVPlayerLayerを返すようにする.

あわせて,layer自体も変更しておくと取得が楽.

import UIKit

import AVFoundation

class VideoContainerView: UIView {
override class var layerClass: AnyClass {
return AVPlayerLayer.self
}

override var layer: AVPlayerLayer {
return super.layer as! AVPlayerLayer
}

func set(player: AVPlayer) {
self.layer.player = player
}
}


他アプリで再生中の音声への割り込みを禁止する

AVAudioSessionのCategoryを変更する

do {

try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
} catch let e {
// Error handling
}