趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
play_music.cpp

音楽(mp3, ogg 等)の再生

#include <iostream>
#include <vector>
#include <cstdio>
#include "Music.h"
using namespace hrk;
using namespace std;
namespace
{
void print_usage(const char* program_name)
{
cout << "usage: " << program_name << " <file1> <file1> ..." << endl;
}
}
int main(int argc, char *argv[])
{
// 再生するファイル情報の取得
const char* program_name = argv[0];
if (argc < 2) {
print_usage(program_name);
return 1;
}
vector<string> play_files;
for (int i = 1; i < argc; ++i) {
play_files.push_back(argv[i]);
}
// 再生するファイルの読み出し
Music music;
for (vector<string>::const_iterator it = play_files.begin();
it != play_files.end(); ++it) {
if (!music.register_alias(*it, *it)) {
cerr << "Music::register_alias: " << music.what() << endl;
return 1;
}
}
cout << "current volume: " << music.volume_percent() << " [%]" << endl;
// 再生
const double fade_in = 1.0;
const double fade_out = 1.0;
for (vector<string>::const_iterator it = play_files.begin();
it != play_files.end(); ++it) {
cout << "play: " << *it << endl;
music.play(*it, fade_in, fade_out);
// 改行が入力されたら、次の曲を再生する
getchar();
}
// リソースの解放
for (vector<string>::const_iterator it = play_files.begin();
it != play_files.end(); ++it) {
music.unregister_alias(*it);
}
return 1;
}