Posts Tagged “audio”

蛋疼写了段代码播放东方系列wave格式的背景音乐。随便拿个工具打开thbgm.dat就会发现前四个byte都是ZWAV,这应该是神主自己创造的魔数了。然后后面就全都是正常人理解不能的二进制数据了。其实这些都是pcm格式的音频,可以理解为就是wave格式砍掉了包含音频参数等信息的头。thbgm.dat里音频是16bit, 44.1kHz的立体声。游戏中播放时,每首bgm的播放第一遍都由开始位置播到结束位置,此后就重复播放不含前奏的循环部分。如果要提取wave格式音频只要根据每个bgm的开始位置,前奏长度,循环长度,就可以导出数据并补上头信息写入.wav文件。不过这里的方法不提取音频而是通过api设置音频参数,直接播放pcm格式音频。至于优点,除了省点硬盘外想不到第二个了,所以说了是蛋疼了么……

PS: *nix里everything is file的哲学真是美啊。

ZWAV Player Demo(Windows)

测试环境: Win7 + VS2010

Comments 3 Comments »