zoukankan      html  css  js  c++  java
  • iOS:多媒体(18-01-25更)

    1、音频

    2、视频

      1、

      2、AVPlayer

    1、音频

    2、视频

      1、

      2、AVPlayer

        0)、写在前面

          AVPlayer 主要包含 AVPlayer、AVPlayerItem、AVPlayerLayer,分别对应,控制器C、模型M、视图V。

        1)、AVPlayer(控制器C)

        2)、AVPlayerItem(模型M)

          2-1)、影片时长:

            AVPlayerItem.duration 是 CMTime 类型

    typedef struct{
        CMTimeValue    value;          // 帧数
        CMTimeScale    timescale;    // 帧率(影片每秒有几帧)
        CMTimeFlags    flags;        
        CMTimeEpoch    epoch;
    } CMTime;
    

            影片的总秒数 = duration.value / duration.timeScale 。

                 或 = CMTimeGetSeconds( AVPlayerItem.duration )。

          2-2)、跳到某个时刻  

    CMTime time1 = CMTimeMake(120, 60);
    CMTime time2 = CMTimeWithSeconds(2.0, 1);
    
    [self.avItem seekToTime:time1 completionHandler:^(BOOL finished) {
        // 跳转完成后
    }];
    

            CMTimeMake、CMTimeWithSeconds,都是跳到 第一个参数/第二个参数 = 2秒。

            两者的区别,我个人认为是为了让开发者有个参照物,比如:

              第一个函数 CMTimeMake,知道每秒几帧,跳到指定的帧数。

              第二个函数 CMTimeWithSeconds ,知道要跳到第几秒,从而设置第二个参数。

              

              

        3)、 AVPlayerLayer(视图V)

  • 相关阅读:
    Jquery仿百度经验左右滚动切换效果(转)
    MySql之左连接,右连接
    MYSQL之IFNULL
    阿里云的云盘挂载
    Discuz管理员前台正常后台登录不进如何解决
    改善用户体验之wordpress添加图片弹出层效果 (插件 FancyBox)
    PHP session有效期session.gc_maxlifetime的设置方法
    Linux下php安装Redis扩展
    sequel 连接不上,命令行能连上
    mysql远程连接命令
  • 原文地址:https://www.cnblogs.com/leonlincq/p/8352309.html
Copyright © 2011-2022 走看看