概要
効果音を鳴らすためのモジュールです。
SDL_mixer を利用しており、WAVE, AIFF, RIFF, OGG, VOC フォーマットのファイルを再生することができます。
API
インストール
hobby_robot_sdk パッケージをインストールすると音楽用の API が利用できます。
インストール手順については、以下のページをご覧下さい。
サンプル
引数で渡された曲のファイルを、指定された回数だけ再生するサンプルです。
#include <cstdlib>
#include <iostream>
#include <cstdio>
using namespace hrk;
using namespace std;
namespace
{
void print_usage(const char* program_name)
{
cout << "usage: " << program_name << " <file> [play times]" << endl;
}
}
int main(int argc, char *argv[])
{
const char* program_name = argv[0];
if (argc < 2) {
print_usage(program_name);
return 1;
}
const char* effect_file = argv[1];
int loop_times = 1;
if (argc >= 3) {
loop_times = atoi(argv[2]);
}
cerr <<
"Sound_effect.register_aliast: " << sound_effect.
what() << endl;
return 1;
}
cout << "current volume: "
for (int i = 0; i < loop_times; ++i) {
int play_id = sound_effect.
play(
"effect");
delay_sec(0.100);
}
}
return 0;
}