解釋何謂iOS中的CMTimeMake

http://blog.riaproject.com/objective-c/1745.html



iOS 4.1後加入了CMTime這個類別來設定時間 ,
但是可憐的是Apple官方文間的說明實在是貧乏的可憐,
只輕描淡寫寫了這段說明:

CMTimeMake
 
CMTime CMTimeMake (
   int64_t value,
   int32_t timescale
);
 
Parameters
 
value
 
timescale
 
Return Value
 
Discussion
 
Availability
 
    * Available in iOS 4.0 and later.
 
Declared In
CMTime.h

幹的好,在問了Google大神後實在是用的人不多, 解釋的人更少,
決定在搞清楚後趕快來寫上一筆,
至少後來的人會比我輕鬆一點,
免得老在那瞎子摸象.

CMTimeMake顧名思義就是用來建立CMTime用的,
但是千萬別誤會他是拿來用在一般時間用的,
CMTime可是專門用來表示影片時間用的類別,
他的用法為: CMTimeMake(time, timeScale)

time指的就是時間(不是秒),
而時間要換算成秒就要看第二個參數timeScale了.
timeScale指的是1秒需要由幾個frame構成(可以視為fps),
因此真正要表達的時間就會是 time / timeScale 才會是秒.

簡單的舉個例子:

CMTimeMake(60, 30);
CMTimeMake(30, 15);

在這兩個例子中所表達在影片中的時間都皆為2秒鐘,
但是影隔播放速率則不同, 相差了有兩倍.

好了,我相信這樣你應該就能夠了解CMTimeMake的表達式所代表的含意了.



iOS 4.1後加入了CMTime這個類別來設定時間 ,
但是可憐的是Apple官方文間的說明實在是貧乏的可憐,
只輕描淡寫寫了這段說明:

CMTimeMake
 
CMTime CMTimeMake (
   int64_t value,
   int32_t timescale
);
 
Parameters
 
value
 
timescale
 
Return Value
 
Discussion
 
Availability
 
    * Available in iOS 4.0 and later.
 
Declared In
CMTime.h

幹的好,在問了Google大神後實在是用的人不多, 解釋的人更少,
決定在搞清楚後趕快來寫上一筆,
至少後來的人會比我輕鬆一點,
免得老在那瞎子摸象.

CMTimeMake顧名思義就是用來建立CMTime用的,
但是千萬別誤會他是拿來用在一般時間用的,
CMTime可是專門用來表示影片時間用的類別,
他的用法為: CMTimeMake(time, timeScale)

time指的就是時間(不是秒),
而時間要換算成秒就要看第二個參數timeScale了.
timeScale指的是1秒需要由幾個frame構成(可以視為fps),
因此真正要表達的時間就會是 time / timeScale 才會是秒.

簡單的舉個例子:

CMTimeMake(60, 30);
CMTimeMake(30, 15);

在這兩個例子中所表達在影片中的時間都皆為2秒鐘,
但是影隔播放速率則不同, 相差了有兩倍.

好了,我相信這樣你應該就能夠了解CMTimeMake的表達式所代表的含意了.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值