web-dev-qa-db-ja.com

swiftおよびCMTimeMake

私はビデオをキャプチャしようとします:
https://developer.Apple.com/library/ios/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html#//Apple_ref/doc/uid/TP40010188-CH5-SW26

var maxDuration : CMTime = CMTimeMake(seconds, preferredTimeScale)
aMovieFileOutput.maxRecordedDuration = CMTimeMake(seconds, preferredTimeScale)

1行にエラーがあります:タイプとしてモジュール「CMTime」を使用しています
2行にエラーがあります:未解決の識別子「CMTimeMake」の使用

私は何が間違っていますか?

14
Andrew Skrypnik

CMTimeCMTimeMakeは「CoreMedia」モジュールで定義されているため、次のことを行う必要があります。

import CoreMedia

次に、これは問題なくコンパイルされます。

let seconds : Int64 = 10
let preferredTimeScale : Int32 = 1
let aMovieFileOutput = AVCaptureMovieFileOutput()
let maxDuration : CMTime = CMTimeMake(seconds, preferredTimeScale)
aMovieFileOutput.maxRecordedDuration = maxDuration

Swift 3:の更新

let maxDuration = CMTime(seconds: Double(seconds), preferredTimescale: 1)
22
Martin R