博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OggVorbis 小记
阅读量:4688 次
发布时间:2019-06-09

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

游戏开发中经常会听到 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

你可能感兴趣的文章
Miller-rabin判素数
查看>>
pthread库实现一个简单的任务池
查看>>
【NOIP-2017PJ】图书管理员
查看>>
Windows下PyMC安装
查看>>
解决Ubantu系统下sublime无法输入中文的问题
查看>>
自动化测试的点点滴滴经验积累
查看>>
窗体布局
查看>>
第一章 Java代码执行流程
查看>>
自学JAVA-11:IO流
查看>>
Python实现装饰模式的一段代码
查看>>
漫画:女生/男生告白攻略
查看>>
MyBatis学习笔记
查看>>
表格 滚动条 (tbody部分滚动)
查看>>
SAStruts中文文档
查看>>
平时二十五测
查看>>
history。go(-1)
查看>>
TTThumbsViewController 由 4张 改为 3张的方式 增补
查看>>
flex invalidation 机制
查看>>
HTML5本地存储——IndexedDB二:索引
查看>>
C# 异步查询数据库(第二版)
查看>>