博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
音频、视频框架概括说明
阅读量:2339 次
发布时间:2019-05-10

本文共 1777 字,大约阅读时间需要 5 分钟。

一、音频基础知识:

1、音频文件的组成:文件格式+音频编码,文件格式用于形容文件本身的格式,音频编码是通过不同编码格式编码后得到的音频数据。

2、音频质量的标准:声卡对声音的处理质量可以用三个基本参数来衡量,即采样频率、采样位数和声道数。采样频率是指单位时间内的采样次数,采样频率越大,采样点之间的间隔就越小,数字化后得到的声音就越逼真。采样位数是记录每次采样值数值大小的位数,采样位数通常有8bits和16bits两种,采样位数越大,所能记录声音的变化度越细腻,相应的数据量就越大。声道数是指处理的声音是单声道还是立体声,单声道在声音处理过程中只有单数据流,而立体声则需要左、右声道的两个数据流;立体声效果好,但是立体声的数据量比单声道的数据量加倍。

3、音频数据量大小的计算公式:数据量(字节/秒)=(采样频率(hz)*采样位数(bit)*声道数)/8.

4、线性PCM表示线性脉冲编码调制,主要是描写用于将模拟声音数据转换成数字格式的技术。简单的说也就是未压缩的数据,因为数据是未压缩的,所以可以最快速的播放出来。

二、音频相关框架概述

iOS系统提供数种播放或录制音频的方式供您选用,在选择音频技术的时候,请记住,要尽可能地选取高级框架,因为它们可以简化播放音频所需的工作。下面从高级到低级列出iOS系统提供的框架,媒体播放器框架 (MediaPlayer.framework)提供的是最高级的接口:

  • 媒体播放器框架 (MediaPlayer.framework)。该框架可以让访问用户的iTume库变得很容易,并且支持播放曲目和播放列表。
  • AV Foundation框架。它提供一组简单易用的Objective-C接口,可用于管理音频的播放或录制。.
  • OpenAL框架。它提供一组跨平台,用于发布方位音频的接口。
  • Core Audio框架。Core Audio 是IOS和 MAC 的关于数字音频处理的基础,它提供应用程序用来处理音频的一组软件框架,所有关于IOS音频开发的接口都是由Core Audio来提供或者经过它提供的接口来进行封装的,按照官方的说法是集播放、处理、录制为一体的专业技术,通过它我们的程序可以同时录制,播放一个或者多个音频流,自动适应耳机,蓝牙耳机等硬件,响应各种电话中断,静音,震动等,甚至提供3D效果的音乐播放。

三、视频相关框架概述

iOS系统提供多种播放或录制视频的方式供您选用,选择视频技术的时候,请尽可能选择高级框架,因为高级框架可以简化为提供对某种功能的支持所需的工作。下面从高级到低级列出iOS系统提供的框架,其中,媒体播放器框架 (MediaPlayer.framework)提供最高级的接口:

  • 媒体播放器框架 (MediaPlayer.framework),它提供一组易于使用的接口,可用于播放应用程序中全屏或部分屏的电影。
  • AV Foundation框架,它提供一组Objective-C接口,可以对电影的捕捉和播放进行管理。
  • Core Media框架,它对较高级框架使用的底层类型进行描述,同时也提供一些底层接口,它们用于对媒体进行处理。

媒体播放器框架

媒体播放器框架 (MediaPlayer.framework)为应用程序播放视频和音频内容提供高级支持。通过该框架,您就可以使用标准系统界面播放音频、视频。 iOS 3.0增加了对访问用户iTune库的支持。因此,您可以利用该框架播放音乐曲目、播放列表、搜索歌曲并向用户显示媒体选取界面。在 iOS 3.2系统中,该框架发生了变化,开始支持在可改变尺寸的视图中播放视频(之前只支持全屏)。另外还新增数个界面用于支持配置和管理电影播放。

参考资料:

1、:http://www.cnblogs.com/javawebsoa/archive/2013/05/20/3089511.html

2、ios开发笔记之音频:http://blog.sina.com.cn/s/blog_7a162d000101b9w3.html

3、应用于osx和iOS的高性能音频框架:http://hao.jobbole.com/novocaine/?utm_source=www.jobbole.com&utm_medium=homepage-resources

你可能感兴趣的文章
JVM内存模型、指令重排、内存屏障概念解析
查看>>
【java基础】集合框架总结
查看>>
Elasticsearch-基础介绍及索引原理分析
查看>>
【C++】二、指针数组与数组指针
查看>>
【C++】三、const与字符串
查看>>
【C++】四、重载,重写,重定义
查看>>
【C++】六、继承与多态
查看>>
特征向量的欧式距离与余弦距离——推荐算法
查看>>
如何正确使用C中的可变参数
查看>>
SDL2.0-简介
查看>>
SDL2.0-播放YUV文件
查看>>
leetcode 1.TwoSum--hashmap
查看>>
leetcode 14. Longest Common Prefix
查看>>
leetcode 26. Remove Duplicates from Sorted Array
查看>>
leetcode 27. Remove Element
查看>>
leetcode 66. Plus One
查看>>
leetcode 111. Minimum Depth of Binary Tree
查看>>
leetcode 257. Binary Tree Paths
查看>>
poj1611-并查集
查看>>
Trie树(字典树)
查看>>