剑痴乎

剑痴乎
代码为剑,如痴如醉
  1. 首页
  2. 编程之美
  3. 正文

irrKlang简介

2014年4月25日 2184点热度 0人点赞 0条评论

irrKlang是一个跨平台的音频库,能够使用C++,C#以及所有.NET语言开发。

特点
提供强大高水平的API用于3D或2D应用中播放声音,比如游戏,科学可视化以及多媒体应用。 irrKlang 非商业用途使用免费。

支持的文件格式
irrKlang目前支持播放以下文件格式:
RIFF WAVE (*.wav)
Ogg Vorbis (*.ogg)
MPEG-1 Audio Layer 3 (*.mp3)[2]
Free Lossless Audio Codec (*.flac)
Amiga Modules (*.mod)
Impulse Tracker (*.it)
Scream Tracker 3 (*.s3d)
Fast Tracker 2 (*.xm)

除此之外,通过使用插件能很容易播放其他格式。

支持的平台
Windows 98, ME, NT 4, 2000, XP, Vista, Windows 7, Windows 8
Linux / *nix
Mac OS X (x86 as well as PPC[3])

3D音效
在所有平台与音频驱动上,irrKlang内置支持3D音效功能,可用于3D游戏中,效率高,而且不占用太多CPU。

支持的编译器与语言
目前支持如下编译器:
Microsoft Visual C/C++ 6.0 - 2012
GCC 3-4
All .NET languages (C#, VisualBasic.NET, Delphi.NET, IronPhyton, F#, Haskell.NET etc.)

音效
除了支持3D声音中的多普勒效应,目前也支持如下音效,包括在2D与3D声音中:
齐声
压缩
失真
回音
参量均衡
混响

简单的API
拥有极其简单的API,如下代码展示如何用C++播放MP3文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <irrKlang.h>
using namespace irrklang;
 
int main(int argc, const char** argv)
{
  // start irrKlang with default parameters
  ISoundEngine* engine = createIrrKlangDevice();
 
  if (!engine)
    return 0; // error starting up the engine
  // play some sound stream, looped
  engine->play2D("somefile.mp3", true);
 
  char i = 0;
  std::cin >> i; // wait for user to press a key
 
  engine->drop(); // delete engine
 
  return 0;
}

总之这是一个很容易使用的音频库,前面我用Ogre开发漫游系统时也用到了该音频库。Ogre中加入声音

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2014年4月25日

Jeff

管理员——代码为剑,如痴如醉

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

版权声明

为支持原创,创作更好的文章,未经许可,禁止任何形式的转载与抄袭,如需转载请邮件私信!本人保留所有法定权利。违者必究!

最近评论
ztt 发布于 3 周前(04月05日) 你好,想看里面的视频和图片为什么没有显示呢?需要下flash吗还是什么。
huowa222 发布于 1 个月前(03月26日) 同问
邱国禄 发布于 2 个月前(02月17日) Receive Delta以0.25ms为单位,reference time以64ms为单位,kDe...
啊非 发布于 4 个月前(12月30日) 大神,请教一个问题: constexpr int kBaseScaleFactor = Tran...
啊非 发布于 4 个月前(12月30日) reference time:3字节,表示参考时间,以64ms为单位,但是 代码里面是 Trans...
相关文章
  • Google ProtoBuf协议介绍
  • Intel Media SDK 内存优化(转)
  • 网络字节转换到本地字节的函数模板
  • 解决Ubuntu下vlc无法播放文件
  • MFC WebBrowser控件如何实现滚动条滑动

COPYRIGHT © 2024 jianchihu.net. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang