OggVorbis 小记
游戏开发中经常会听到 Ogg 和 Vorbis 两个单词,最近在阅读《Beginning Game Audio Programming》一书时,得知两者之间的联系,这里做一下笔记。
Ogg Vorbis API 包含四个重要代码库:
1. Ogg Library
2. Vorbis Library
3. Vorbisenc Library
4. Vorbisfile Library
Ogg Library 包含了一些通用函数,这些函数用于操作 Ogg 文件,Ogg 是一种通用框架,它的意图是用来作为一个容器,可以包含音频数据和视频数据,这些音频数据和视频数据可以是压缩过的,也可以是没有压缩过的,这个和微软发明的 RIFF 文件是相似的,RIFF 是微软的一种文件容器,它也是被设计出来包含多媒体数据的,其中 WAVE 和 AVI 就是使用 RIFF 作为容器进行封装的。
Ogg Library 不需要知道自己包含了什么数据,你甚至可以在 Ogg 文件中封入 dll 文件(Ogg:不许笑,我是认真的),也就是说,你用 Ogg Library 只能够解压出 dll 文件,但是 dll 文件的操作,你还是要自己另外去找代码来加载的。 那么,我们经常看到的 ogg 音频文件,里面包含了什么样的数据呢,就目前为止,大多数都包含了使用 Vorbis Library 进行压缩的音频数据。 也就是说,通过 Ogg Library 把数据解压出来后,还需要通过 Vorbis Library,才能读取里面的音频数据,把音频数据转换成标准 PCM 数据。
Vorbisenc Library 很少被使用,我没有多看。
最后是 Vorbisfile Library,这个库是我们用得最多的库,这个库封装了 Ogg Library 和 Vorbis Library,提供了一组容易使用的 API,让我们可以一站式操作 ogg 文件。
---------------------------------------------------------
不知道理解的对不对,同时非常感谢各位前辈在评论区指出错误之处,我会虚心采纳,并在文章中加以纠正。
转载于:https://www.cnblogs.com/NekoMasutaDev/p/9071867.html
OggVorbis 小记相关推荐
- hp-ux 集群,内存 小记
hp-ux 集群,内存 小记 -----查看hp 集群状态信息 # cmviewcl -v CLUSTER STATUS dbsvr up ...
- <笔记2>numpy的生成随机数用法小记
numpy的生成随机数用法小记 numpy生成随机数 <以下图片来自黑马程序猿录播课程笔记> import numpy as np import random #random 生产随机数 ...
- 2021年中寻找新SAP项目机会小记
2021年中寻找新SAP项目机会小记 最近一段时间,笔者有在酝酿下一个SAP项目机会.在与相关业界同仁洽谈项目机会的过程中,笔者发现自己还是在犯一些低级错误,感觉自己还是太不够理性和成熟. 1,事情没 ...
- K项目小记 - 项目已开工整整四周!
K项目小记 - 项目已开工整整四周! 至今天,K项目已经推进到了第四周.这四周时间里,我们项目组全体成员经历了一段刻骨铭心的战斗时光.我们每天开会,谈流程,展示全球模板,找GAP.K项目是以客户总部的 ...
- 肺炎疫情期间购买口罩小记
肺炎疫情期间购买口罩小记 谁都不曾想到,平时不怎么用到的口罩,在此次肺炎疫情期间,突然成为紧俏物资,重要物资. 早在疫情爆发初期,就在新闻报道里听说医护人员缺少医护物资,其中就有各种级别的口罩.此时笔 ...
- SAP MM 进销存报表优化小记
SAP MM 进销存报表优化小记 笔者刚刚加入SY项目,就接到了SY集团上海总部SAP运维部门负责人的工作分配,说是有一只进销存报表,需要做一个优化,可能是需要重新设计重新开发. 笔者研究了他们现行进 ...
- Flex+J2EE 之小记
Flex+J2EE 之小记 Jack. Wang 2008-9-10(本待完善...) wbjeasygo@163.com 由于本人也是初学者(刚看了两天视频),所以请高手指点,这里赞下 blog ...
- thrift使用小记_CUDev-ChinaUnix博客
thrift使用小记_CUDev-ChinaUnix博客 thrift使用小记 (2011-09-19 21:28) 标签: 客户端 接口 Facebook transport protoc ...
- 微信公众号开发小记(二)--服务器验证
这篇是微信公众号开发小记的第二篇,承接上一篇,此次将完成如下主要功能 对接微信服务器和自己的服务器 需要的"材料" 到这里需要梳理一下都需要什么东西,以便在整个编码的过程中方便我们 ...
最新文章
- 技术贴 | MetaboAnalyst 4.0,代谢组学研究利器的升级
- AOF-Redis设计与实现
- 资产管理大佬讲述:如何用大数据及人工智能挑选基金?
- Jupyter Notebook快捷键
- Android仿QQ界面
- python中文昵称-官方出品 Python 中文文档!拜托,别再说看不懂了
- SQL Server 练习
- linux签名服务器,linux – 如何在远程服务器上使用gpg签名密钥?
- 这位优秀的.NET开发者是怎样炼成的?
- 容器编排技术 -- Init 容器
- 不是程序员看不懂的21个梗,当你改错一行代码的时候...
- 人生之清单(list of life)
- .NET 6 Preview 5
- 无法在web 服务器上启动调试。打开的url的iis辅助进程当前没有运行
- Crontab 实例
- ie打开本地html页面慢,ie11 第一次浏览jquery+CSS3网页时候延时3秒
- winrar 百度网盘_不冲百度网盘会员,如何在手机上打开网盘里的压缩包?
- BERT模型—7.BERT模型在句子分类任务上的微调(对抗训练)
- 用计算机画画的优质课,小学信息技术优质课和画图工具教案.doc
- moss部署学习入门及注意事项