QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3099|回复: 8

播放声音的一点建议

[复制链接]
发表于 2005-6-9 20:09:43 | 显示全部楼层 |阅读模式
大多数游戏软件都采用 mod 格式的音频文件,好象是一种编译过的 midi 的二进制文件,可以参考。如要支持 midi 播放,目前仅知道 fluid、timidity 这两个软件能利用 soundfont 软波表实现 midi 播放,magic 目录里能找到。timidity 支持 mod 文件播放。但你要实现支持 midi,恐怕非常麻烦。windows 自带 midi 支持,这和 linux 不同。

参见 starfighter 源代码,里面一定有播放方法。
http://www.parallelrealities.co.uk/starfighter.php#Downloads

这是一个典型的 mod 文件,只有 205.1k,但是使用 timidity 加上 141M 软波表放出的声音相当雄浑、透彻。
http://www.parallelrealities.co.uk/download.php?file=platinum.mod&type=mod
 楼主| 发表于 2005-6-9 22:23:39 | 显示全部楼层
播放方法:
aoss timidity starfighter.mod
aoss timidity starfighter.mid
或者:
LD_PRELOAD=/usr/lib/libaoss.so timidity starfighter.mod
LD_PRELOAD=/usr/lib/libaoss.so timidity starfighter.mid
这里使用 aoss 模拟 OSS 驱动,可以实现 ALSA 多音频流支持,避免播放时干扰其他使用声卡的软件。
回复

使用道具 举报

发表于 2005-6-9 22:28:15 | 显示全部楼层
KDE兄说的链接我连不上,被网关过滤了:
中国气象局Internet访问过滤系统限制访问该网页。
  
原因:
该网页属于的类别“游戏”被中国气象局Internet访问过滤系统禁止。

  
--------------------------------------------------------------------------------

URL:
http://www.parallelrealities.co.uk/download.php?file=platinum.mod&type=mod




赫赫,多谢KDE,
我再看看SDL,能播放mod而且mid又能转乘mod的话,就用SDL吧。

多谢KDE!!
回复

使用道具 举报

发表于 2005-6-9 23:11:37 | 显示全部楼层

看了半天SDL的文档,还是没搞懂到底支持哪些类型的文件。
只是看到wav,还有一种mx后缀的
其他都都没提到
ft呀ft
回复

使用道具 举报

 楼主| 发表于 2005-6-10 21:41:17 | 显示全部楼层
你也可以下载:
http://www.magiclinux.org/dev/rc3/cd2/SRPMS/Game/starfighter-1.1-1mgc.src.rpm
执行
rpm -i starfighter-1.1-1mgc.src.rpm
然后到 /usr/src/mBuild/SOURCES 里可以找到 .tar.gz 文件。如果不行,我梢后把文件放到服务器上。
回复

使用道具 举报

发表于 2005-6-10 22:25:48 | 显示全部楼层
谢谢KDE!!!
弄到源码了
回复

使用道具 举报

发表于 2005-6-10 22:44:25 | 显示全部楼层
starfighter用的mod格式,只需要把midi转成mod
然后使用SDL库就可以了。
这周末假期+纪念日
下周末吧,发布具有音效和背景音乐的版本。
回复

使用道具 举报

发表于 2005-8-5 06:22:00 | 显示全部楼层
[quote:7aa0affead="alpher"]starfighter用的mod格式,只需要把midi转成mod
然后使用SDL库就可以了。
这周末假期+纪念日
下周末吧,发布具有音效和背景音乐的版本。[/quote]

mid转mdo...要用什么软体...有这个软体吗...我找不到耶
回复

使用道具 举报

 楼主| 发表于 2005-8-7 18:26:52 | 显示全部楼层
timidity 只能实现 midi 到 mod  的转换。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-19 06:55 , Processed in 0.099432 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表