• atwiki
  • ProMemo
  • [OpenALでビープ音を鳴らす-C]の変更点

「OpenALでビープ音を鳴らす-C」の編集履歴(バックアップ)一覧はこちら

OpenALでビープ音を鳴らす-C」(2009/09/24 (木) 23:37:02) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*&this_page() |&tags()|解説|最終更新日 &date()|&link_pdf(text=PDFで表示)|[[ダウンロード>http://www20.atwiki.jp/yosilove?cmd=upload&act=open&pageid=16&file=beap.zip]]| MacOSXのOpenALでビープ音を鳴らすサンプル #contents *ソースコード **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 ----
*&this_page() |&tags()|解説|最終更新日 &date()|&link_pdf(text=PDFで表示)|[[ダウンロード>http://www20.atwiki.jp/yosilove?cmd=upload&act=open&pageid=16&file=beap.zip]]|View &counter(total)| MacOSXのOpenALでビープ音を鳴らすサンプル #contents *ソースコード **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 ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー