多媒体

作者: 学而不思则罔思而不学则殆 | 来源:发表于2016-12-14 19:31 被阅读9次

iPhone OS 主要提供了几种播放音频的方法

  • SystemSound Services
  • AVAudioPlayer 类
    • 只能播放本地和网络音频, 网络音频需要缓存到本地.
  • AVPlayer
  • Audio Queue Services
  • OpenAL

AVAudioPlayer类调用哪个框架, 使用步骤

框架: AVAudioPlayer
步骤

  • 配置 AVAudioPlayer 对象
  • 实现 AVAudioPlayer 类的代理方法
  • 控制 AVAudioPlayer 类的对象
    • 监控音量
    • 回放进度和拖拽播放

AVPlayer

使用AVPlayer 会使用的三个类

  • AVPlayerItem
self.playerItem  = [AVPlayerItem playerItemWithURL:videoURL];
  • AVPlayer
self.player      = [AVPlayer playerWithPlayerItem:_playerItem];
  • AVPlayerLayer
self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:_player];

开始

[self.player play]

暂停

[self.player pause]
  • AVPlayer 有个 rate 属性, 1 时正常播放, 0 时是暂停播放.
  • AVPlayerItem 有个 videoGravity 属性, 常用的2个枚举
    • AVLayerVideoGravityResizeAspectFill 等比例填充多余裁剪
    • AVLayerVideoGravityResizeAspect 等比例填充留下黑边

调节音量

  • 添加手势调节
  • 使用 UISlider 滑动调节

获取播放时间

  • AVPlayer 并么有直接提供 API 来获取播放时间, 需要我们通过该计算得到
  • AVPlayer 下有个 CMTime 属性, 这个属性由 value 和 timeScale 组成, value / timeScale 得到秒数
  • 通过CMTimeGetSeconds([_player currentTime]) / 60可以获得当前分钟,CMTimeGetSeconds([_player currentTime]) % 60可以获得当前秒数
  • 通过playerItem.duration.value / _playerItem.duration.timescale / 60可以获得视频总分钟数,通过playerItem.duration.value / _playerItem.duration.timescale % 60可以获得视频总时间减分钟的秒数
  • 搭配定时器就可以设置视频当前播放时长和视频总时长

Slider滑动结束视频跳转

  • 通过 seekToTime 可以跳转到视频的某个点, 传入的值也是 CMTime 类型的
  • 通过以上方法我们也可以实现记录上次播放的时间接节点, 在下次播放时跳转到上次播放的地方, 这里要注意的是必须要等到播放器准备好以后才可以调用 seekToTime 这个方法, 否则会崩溃, 通过 KVO 来监听 Status 属性, 当self.player.status == AVPlayeStatusReadyToPlay的时候调用 seekToTime 方法

全屏播放

  • 把播放器添加在 keyWindow 上, 可以实现全屏.

相关文章

  • 「DOM 编程」多媒体(视频与音频)

    多媒体基本用法多媒体支持类型多媒体格式兼容HTML 属性控制多媒体多媒体相关事件Web Audio API 多媒体...

  • 多媒体教学环境下的历史与社会学科教学(许锴杰)

    一、多媒体理论 (一)什么是多媒体、多媒体的应用 (二)多媒体教学的有关理论 (三)多媒体学习原则 1多媒体原则 ...

  • 2018-10-27

    多媒体技术的概念与应用 知识点 多媒体的概念 多媒体的应用 一、 多媒体的概念 (一) 媒体、多媒体技术 1. 媒...

  • 多媒体技术

    【第一章】多媒体技术概述 什么是媒体? 什么是多媒体? 多媒体的类型有哪些? 多媒体技术的定义是什么? 多媒体计算...

  • HTML媒体

    HTML多媒体 Web 上的多媒体指的是音效、音乐、视频和动画。 什么是多媒体? 多媒体来自多种不同的格式。它可以...

  • HTML学习笔记2

    HTML 多媒体 Web 上的多媒体指的是音效、音乐、视频和动画 多媒体格式 格式 多媒体元素(比如视频和音频)存...

  • TextureView+MediaPlayer实现在线短视频播放

    Android多媒体开发系列文章 Android多媒体开发:录音机 Android多媒体开发:照相机 Textur...

  • 多媒体技术

    《多媒体技术》系统、全面地介绍了多媒体技术的基本理论和实际应用,重点讨论了多媒体软硬件的组成和应用、多媒体技术中的...

  • HTML简介 3

    图片和多媒体 HTML 支持各种多媒体资源,例如图像,音频和视频。 内嵌内容 除了常规的多媒体内容,HTML 可以...

  • 多媒体

    MPEG TS MPEG transport stream(transport stream,MPEG-TS,MT...

网友评论

      本文标题:多媒体

      本文链接:https://www.haomeiwen.com/subject/gjfwmttx.html