SDXFrameWork  0.10
SDXFrameWork
 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 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)
{
}
if (Input::key.Return.on){ break;}//Enterで終了
}
return true;
}
Todo:
中途再生周りのテスト

Constructor & Destructor Documentation

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

音声ファイルを登録.

Member Function Documentation

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

音声ファイルを登録.

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

bool SDX::Music::Destroy ( )

音声ファイルを解放.

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

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

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

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

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

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

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

0~1.0で音量を設定.

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

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

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

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

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

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

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

再生中か確認.

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

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

再生中のMusicを停止.

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

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

再生中の音量を変更.

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

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

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

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