SDXFrameWork  0.13
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 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)
{
}
if (Input::key.Return.on){ break;}//Enterで終了
}
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 ( )
inlinestatic

再生中か確認.

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

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

再生中のMusicを停止.

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

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

再生中の音量を変更.

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

static void SDX::Music::SetMainVolume ( double  音量)
inlinestatic

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

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

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

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

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