OpenALでビープ音を鳴らす-C
C Mac OpenAL ソースコード | 解説 | 最終更新日 2009-09-24 | link_pdfプラグインはご利用いただけなくなりました。 |
ダウンロード | View - |
MacOSXのOpenALでビープ音を鳴らすサンプル
ソースコード
alert.c
#include <OpenAL/al.h> #include <OpenAL/alc.h> #include <math.h> #include <stdio.h> #include <unistd.h>//sleep関数用 int main(){ ALCdevice *device; ALCcontext *context; ALshort data[22050]; ALuint buffer, source; int i; //デバイスを開く device = alcOpenDevice(NULL); //コンテキストを生成 context = alcCreateContext(device, NULL); //使用するコンテキストの指定 alcMakeContextCurrent(context); //バッファの生成 alGenBuffers(1, &buffer); //信号を生成する for (i = 0; i < 22050; ++i) { data[i] = sin(i * 3.14159 * 2 * 440 / 22050) * 32767; } //信号をバッファに入れる alBufferData(buffer, AL_FORMAT_MONO16, data, sizeof(data), 22050); //ソースを生成 alGenSources(1, &source); //バッファからソースを作る alSourcei(source, AL_BUFFER, buffer); //ソースを再生する alSourcePlay(source); sleep(1); //お片づけ alSourceStop(source); alDeleteSources(1, &source); alDeleteBuffers(1, &buffer); alcMakeContextCurrent(NULL); alcDestroyContext(context); alcCloseDevice(device); return 0; }
Makefile
Mac
CC = gcc -O2 -Wall FRAMEWORKS = -framework OpenAL .c: $(CC) $@.c $(FRAMEWORKS) -o $@
実行方法
コンパイルして
make
実行
./alert
実行結果
「ピー」と鳴ります。
テスト環境
MacOSX 10.5.8 |
gcc version 4.0.1 (Apple Inc. build 5493) |
OpenAL |
Tanks
添付ファイル