SoundDart

SoundDart 是一个用于 Dart 的命令行 SoundSprite 生成器。

它需要将 ffmpeg 放置在您的 PATH 中。感谢 unscripted 简化命令行应用创建,以及 audiosprite.js 的启发。

##什么是 SoundSprite?##
就像图形的精灵表一样,SoundSprite 由多个声音组成,拼接成一个压缩文件。这样可以减少项目中 HTTP 请求的数量/部署的资源。每个声音之间会放置一个可配置的静音间隔(以帮助防止松散的音频 API 运行到其他声音),并且由于大多数格式都支持可变比特率(VBR)编码,因此文件大小的损失很小。

##如何使用 SoundDart?##
SoundDart 使用 DartVM 在命令行上运行,如下所示:

dart path/to/sounddart.dart

不带任何选项运行时会提供一个熟悉的帮助信息块

Combines uncompressed sound files, encodes to popular formats, and generates json atlas.

Usage:

dart sounddart.dart [options] files...

Options:

-h, --help          Print this usage information.
-o, --output        Filename for the output file(s), without extension.
                    (defaults to "output")

-e, --export        Limit exported file types. eg "mp3,ogg"
                    (defaults to "")

-r, --samplerate    Sample rate.
                    (defaults to "44100")

-c, --channels      Number of channels (1=mono, 2=stereo).
                    (defaults to "1")

-g, --gap           Length of gap in seconds.
                    (defaults to ".25")

-v, --verbose       Be super chatty.

Examples:

dart sounddart.dart -o audio *.wav # wildcard expansion supported even if your shell doesn't
dart sounddart.dart -e "mp3,ogg" *.wav # only export mp3 and ogg formats

SoundDart 会将所有声音串联起来,并在您的当前工作目录中以多种格式(mp3、ogg、opus、m4a)输出 SoundSprites 和一个 .json 图集(目前支持 StageXLHowler.js 使用的格式)。

Bomb0 added at 0.00 seconds, length 0.84 seconds
Bomb1 added at 1.09 seconds, length 0.84 seconds
Bomb2 added at 2.19 seconds, length 0.85 seconds
Bomb3 added at 3.28 seconds, length 0.84 seconds
Bomb4 added at 4.37 seconds, length 0.82 seconds
click added at 5.45 seconds, length 0.60 seconds
flag added at 6.30 seconds, length 0.16 seconds
Pop0 added at 6.70 seconds, length 0.20 seconds
Pop1 added at 7.16 seconds, length 0.21 seconds
Pop2 added at 7.61 seconds, length 0.20 seconds
Pop3 added at 8.07 seconds, length 0.19 seconds
Pop4 added at 8.50 seconds, length 0.21 seconds
Pop5 added at 8.96 seconds, length 0.23 seconds
Pop6 added at 9.44 seconds, length 0.19 seconds
Pop7 added at 9.89 seconds, length 0.19 seconds
Pop8 added at 10.33 seconds, length 0.21 seconds
throw added at 10.79 seconds, length 0.14 seconds
unflag added at 11.18 seconds, length 0.31 seconds
win added at 11.75 seconds, length 3.83 seconds
Total sprite length 15.58 seconds, uncompressed size 1342 KB
output.opus created, compressed size 121 KB
output.mp3 created, compressed size 128 KB
output.m4a created, compressed size 248 KB
output.ogg created, compressed size 109 KB
all done - kthxbye!

GitHub

查看 Github