ソフトウェア開発メモ

日々のソフトウェア設計、実装で考えている、気づいた事を書いています。それが真実か否かは保証しません。悪しからず。

AV FoundationのCRCカード(作成中)

練習がてらにチラ裏で書きます。

AVPlayerItem

情報把握責務

再生時の状態(再生時間等)を保持する。 再生データ(ピクセル、波形)を算出する。

実行責務

メディアのシーク(更新タイミングはAVPlayerで行う)。 再生データの算出

協調クラス

AVAsset assets 再生対象のメディア AVPlayerItemOutput outpus 再生データの監視役 AVAudioMix audioMix オーディオをミキシングする人 AVVideoComposition videoComposition 動画の合成編集する人

AVPlayer

AVPlayerItemを再生する。

情報把握責務

クロックを保持する。 再生状態を保持する。 現在再生中のAVPlayerItemを保持する。

実行責務

クロックに合わせてAVPlayerItemを再生する。 再生制御を行う

協調クラス

CMClockRef masterClock クロック AVPlayerItem currentItem 再生中の楽曲

AVAsset

情報把握責務

メディアの情報を保持する。 各トラックを表すAVAssetTrackを保持する。

実行責務

メディアファイルを解析する

協調クラス

AVAssetTrack tracks 各トラック AVMetadataItem metadata 各メタデータ

AVMutableComposition

情報把握責務

自身構成をするAVCompositionTrackの配列を保持する。

実行責務

自身に所属するAVMutableCompositionTrackを生成する。 自身の再生時間を伸縮する。

協調クラス

AVCompositionTrack tracks 各トラック