SDXFrameWork 0.12 SDXFrameWork

- Main Page
- Related Pages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Public Member Functions | Static Public Member Functions | Friends | List of all members
SDX::Music Class Reference

BGM用音声を表すクラス. More...

`#include <Music.h>`

## Public Member Functions
| Music (const char *ファイル名, double 音量=1.0)
| 音声ファイルを登録. More...
bool | Load (const char *ファイル名, double 音量=1.0)
| 音声ファイルを登録. More...
bool | Destroy ()
| 音声ファイルを解放. More...
bool | Play (bool ループ再生フラグ=true)
| 音声ファイルを先頭から再生. More...
bool | Restart (bool ループ再生フラグ=true)
| 前回停止した位置から再生. More...
void | SetVolume (double 音量)
| 0～1.0で音量を設定. More...
void | SetFadeInTime (int フェードイン時間)
| 再生時のフェードイン時間を設定[ミリ秒]. More...
void | SetFadeOutTime (int フェードアウト時間)
| 停止時のフェードアウト時間を設定[ミリ秒]. More...

## Static Public Member Functions
static bool | Check ()
| 再生中か確認. More...
static bool | Stop ()
| 再生中のMusicを停止. More...
static void | ChangeVolume (double 音量)
| 再生中の音量を変更. More...
static void | SetMainVolume (double 音量)
| 全体の音量を0～1.0の範囲で設定. More...
static bool | Update ()
| fadeOut付きで終了した後に次Musicを再生するための処理. More...

## Friends
class | System

## Detailed Description

BGM用音声を表すクラス.

//Copyright © 2014 SDXFramework
//[License]GNU Affero General Public License, version 3
//[Contact]http://sourceforge.jp/projects/dxframework/
//音楽を再生する
#include <SDXFramework.h>
bool SampleMusic()
{
using namespace SDX;
System::Initialise("sample", 640, 480);
Music musicA("data/bgm_maoudamashii_piano14.ogg");
Music musicB("data/bgm_maoudamashii_piano14.ogg",0.5);
musicB.SetFadeInTime(1000);
musicB.SetFadeOutTime(1000);
while (System::Update())
{
Drawing::String({10,10},Color::White,"AとBでBGMを再生または再開、Sで停止");
if (Input::key.A.on)
{
musicA.Restart();
}
if (Input::key.B.on)
{
musicB.Restart();
}
if (Input::key.S.on)
{
Music::Stop();
}
if (Input::key.Return.on){ break;}//Enterで終了
}
System::End();
return true;
}

Todo:
  中途再生周りのテスト

## Constructor & Destructor Documentation

SDX::Music::Music | ( | const char * | ファイル名,
|  | double | 音量 = `1.0`
| ) |  |
| inline

音声ファイルを登録.

## Member Function Documentation

bool SDX::Music::Load | ( | const char * | ファイル名,
|  | double | 音量 = `1.0`
| ) |  |
| inline

音声ファイルを登録.

音量は 0～1.0で指定、ファイルはメモリには読み込まない。

bool SDX::Music::Destroy | ( |  | ) |
| inline

音声ファイルを解放.

bool SDX::Music::Play | ( | bool | ループ再生フラグ = `true` | ) |
| inline

音声ファイルを先頭から再生.

Musicは複数同時に再生する事は出来ない。

bool SDX::Music::Restart | ( | bool | ループ再生フラグ = `true` | ) |
| inline

前回停止した位置から再生.

Musicは複数同時に再生する事は出来ない。

void SDX::Music::SetVolume | ( | double | 音量 | ) |
| inline

0～1.0で音量を設定.

void SDX::Music::SetFadeInTime | ( | int | フェードイン時間 | ) |
| inline

再生時のフェードイン時間を設定[ミリ秒].

指定の時間で徐々に音量を上げていく

void SDX::Music::SetFadeOutTime | ( | int | フェードアウト時間 | ) |
| inline

停止時のフェードアウト時間を設定[ミリ秒].

指定の時間で徐々に音量を下げていく

static bool SDX::Music::Check | ( |  | ) |
| inline static

再生中か確認.

いずれかのMusicが再生中ならtureを返す

static bool SDX::Music::Stop | ( |  | ) |
| inline static

再生中のMusicを停止.

フェードアウト時間[mm秒]が1以上の場合、徐々に音量を下げて停止する

static void SDX::Music::ChangeVolume | ( | double | 音量 | ) |
| inline static

再生中の音量を変更.

いずれかのMusicが再生中なら音量を変更

static void SDX::Music::SetMainVolume | ( | double | 音量 | ) |
| inline static

全体の音量を0～1.0の範囲で設定.

一度もこの関数を使用していない場合は最大音量

static bool SDX::Music::Update | ( |  | ) |
| inline static

fadeOut付きで終了した後に次Musicを再生するための処理.

System::Update内で呼ばれている