开发者

trivial linux sound playback

The classical C program is something like:

int main() { fprintf(stderr, "hello world\n"); }

a classical OpenGL program is:

open up a window
setup ortho view
draw a colored triangle

Now, I want to do the most basic thing for sound i开发者_开发百科n Linux.

I want to:

1) open up speakers
2) send a bunch of data, meant to be interpreted at 40Khz,
3) have pseakers play said data

no midi, no instruments, ... just playing back raw data

What is the easiest way to do this in a C program? [and what libraries; what's the equiv to OpenGL for sound?]

Thanks!


Sound equivalent of OpenGL is OpenAL library. It is cross-platform, whereas ALSA is Linux-specific.


Linux has two sound API:s: the older Open Sound System (OSS), and the current Advanced Linux Sound Architecture (ALSA).

ALSA is not renowned for being extremely easy to get going with; it's possible that the smallest "hello world"-type app will frighten you. It's mostly verbose due to error-checking though.

You can also use the fact that the default output device is generally mapped as /dev/dsp, so you can just write bits into it and have them played back.


There is a counterpart to OpenGL called, unsurprisingly, OpenAL.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜