10

我正在创建一个应用程序,我必须在其中混合歌曲。我已经完成了这个,但问题是当我使用以下函数时。

- (BOOL)insertTimeRange:(CMTimeRange)timeRange ofTrack:(AVAssetTrack *)track atTime:(CMTime)startTime error:(NSError **)error;

我必须在atTime参数中传递CMTime类型值,但它不需要浮点值,我必须以某个浮点值添加另一首歌曲。有可能吗?

4

2 回答 2

19

您可以使用其中一项CMTimeMake...() 功能。您必须提供时间点和时间刻度值。前者是64位整数;您可以截断或四舍五入将float其转换为整数,或使用必要的高时间刻度:

CMTime tm = CMTimeMake(53425, 10000); // @ 5.3425 sec
于 2012-12-27T12:59:55.117 回答
2

在 Swift 4.2 和 Xcode 10.1 中

CMTimeMake(value: 53425, timescale: 10000)// @ 5.3425 sec
于 2019-03-09T07:22:56.927 回答