Logo
クラス | 公開型 | 静的公開メンバ関数 | 全メンバ一覧
Yukar.Engine.Audio クラス

BGM/SE/MEなどオーディオ全般を再生管理するクラス [詳解]

クラス

class  SoundDef
 読み込んだサウンドのインスタンス [詳解]
 

公開型

enum  SoundType { Map = 0 , Normal , Arnis }
 再生種別 / Map, Normal は通常ステレオ、Arnis は 3Dサウンド [詳解]
 

静的公開メンバ関数

static void PlayDummy ()
 内蔵の無音ファイルを再生する [詳解]
 
static void Initialize ()
 サウンドシステムの初期化 [詳解]
 
static void InitializeSETypeCount (int inNormalSECount, int inArnisSECount)
 効果音同時再生数の最大を設定する [詳解]
 
static bool CheckAndRecoverSoundDeviceIfNeeded ()
 出力ストリームが不健全(直近一定時間、実際の音声出力に成功していない)と判断した場合、 デバイスの再構築を要求する。エディタのテスト再生など、無音に気づいた利用者が 明示的に再生操作をしたタイミングでのみ呼び出す想定(毎フレーム呼ぶものではない)。 [詳解]
 
static void Destroy ()
 サウンドシステムの破棄 [詳解]
 
static void SetListenerMatrix (SharpKmyMath.Matrix4 mtx)
 3Dサウンドの聴者位置・向き・上方向を設定する [詳解]
 
static void SetDistanceScaleMaxDistance (float v)
 距離減衰の基準距離を設定する [詳解]
 
static void PlayBgm (Common.Resource.SoundResource rom, float volume=1.0f, float tempo=1.0f, bool isTemporary=false)
 BGMを再生する [詳解]
 
static void SetBgmVolume (float volume)
 BGMのボリュームを設定する [詳解]
 
static void changeVolume ()
 システムボリュームを反映する [詳解]
 
static void PlayBgs (Common.Resource.SoundResource rom, float volume=1.0f, float tempo=1.0f)
 環境音を再生する [詳解]
 
static void StopBgm ()
 BGMを停止する [詳解]
 
static void StopBgs ()
 環境音を停止する [詳解]
 
static int LoadSound (Common.Resource.SoundResource rom, bool getUniqueId=false)
 サウンドを読み込む [詳解]
 
static int LoadSystemSound (Common.Resource.SoundResource rom)
 システム効果音(決定音・キャンセル音など)としてサウンドを読み込む シーン遷移時の一括停止(StopAllSound(false))の対象外になる [詳解]
 
static void UnloadSound (Common.Resource.SoundResource rom)
 サウンドをアンロードする 他の場所から参照されている場合は 参照カウントを減らすだけ [詳解]
 
static void PlaySound (int id, float pan=0f, float volume=1.0f, float tempo=1.0f, Audio.SoundType soundType=Audio.SoundType.Normal)
 効果音を再生する [詳解]
 
static void PauseSound (int id)
 サウンドのポーズ [詳解]
 
static void ResumeSound (int id)
 ポーズしたサウンドの再開 [詳解]
 
static void UnloadSound (int id)
 サウンドをアンロードする 他の場所から参照されている場合は 参照カウントを減らすだけ [詳解]
 
static SoundDef GetNowBgm (bool doClear=true, bool forSave=false)
 現在のBGMを取得する [詳解]
 
static void SwapBgm (SoundDef sound)
 再生中のBGMを差し替える 再生位置などを引き継ぐことできます [詳解]
 
static bool IsBgmPlaying ()
 BGMが再生中かどうかを取得する [詳解]
 
static SoundDef GetNowBgs ()
 現在の環境音を取得する [詳解]
 
static Common.Resource.ResourceItem GetNowBgsRom ()
 再生中の環境音のリソースを取得する [詳解]
 
static void setMasterVolume (float bgm, float se)
 マスターボリュームを変更する [詳解]
 
static bool IsSePlaying (int seId)
 指定IDの効果音が再生中かどうかを取得する [詳解]
 
static bool IsSePlaying (Common.Resource.SoundResource sound)
 指定リソースの効果音が再生中かどうかを取得する [詳解]
 
static int GetSeId (Common.Resource.SoundResource sound, bool reverseOrder=false)
 指定リソースの効果音IDを取得する [詳解]
 
static Sound CacheSound (SoundResource bgm)
 BGMの先読み(互換用)現在はストリーミング再生を行なうので意味はありません [詳解]
 
static void UncacheSound (Sound pre)
 先読みしたサウンドの解放 [詳解]
 
static void UnloadAllSound ()
 全効果音の解放 [詳解]
 
static void InvalidateWaveCache (Guid guid)
 指定サウンドの復号済みWaveキャッシュを破棄する。 再インポート等でファイル内容が差し替わっても guId は同じままのため、 キャッシュを追い出さないと古い Wave が再生され続ける(波形表示はファイルから 直接生成するため正常に見える)。再取り込み時に明示的に呼び出すこと。 [詳解]
 
static void StopAllSound (bool includeSystemSe=true)
 全効果音の再生終了 [詳解]
 
static void StopSound (int loadedSeId)
 指定IDの効果音の再生終了 [詳解]
 
static bool GetLoopPoint (string path, out int loopStart, out int loopEnd)
 指定パスのサウンドファイルのループポイントを取得する [詳解]
 
static void SetSePosition (int id, float x, float y, float z)
 効果音の再生位置設定(再生開始時はPlaySoundの前に位置を設定しておく必要があります) [詳解]
 
static void SetSEVolume (int id, float volume=1)
 効果音のボリューム設定 [詳解]
 

詳解

BGM/SE/MEなどオーディオ全般を再生管理するクラス

列挙型メンバ詳解

◆ SoundType

再生種別 / Map, Normal は通常ステレオ、Arnis は 3Dサウンド

列挙値
Map 
Normal 
Arnis 

メソッド詳解

◆ CacheSound()

static Sound Yukar.Engine.Audio.CacheSound ( SoundResource  bgm)
static

BGMの先読み(互換用)現在はストリーミング再生を行なうので意味はありません

引数
bgm
戻り値

◆ changeVolume()

static void Yukar.Engine.Audio.changeVolume ( )
static

システムボリュームを反映する

◆ CheckAndRecoverSoundDeviceIfNeeded()

static bool Yukar.Engine.Audio.CheckAndRecoverSoundDeviceIfNeeded ( )
static

出力ストリームが不健全(直近一定時間、実際の音声出力に成功していない)と判断した場合、 デバイスの再構築を要求する。エディタのテスト再生など、無音に気づいた利用者が 明示的に再生操作をしたタイミングでのみ呼び出す想定(毎フレーム呼ぶものではない)。

戻り値
再構築を要求した場合はtrue、既に健全だった場合はfalse

◆ Destroy()

static void Yukar.Engine.Audio.Destroy ( )
static

サウンドシステムの破棄

◆ GetLoopPoint()

static bool Yukar.Engine.Audio.GetLoopPoint ( string  path,
out int  loopStart,
out int  loopEnd 
)
static

指定パスのサウンドファイルのループポイントを取得する

引数
path
loopStart
loopEnd
戻り値

◆ GetNowBgm()

static SoundDef Yukar.Engine.Audio.GetNowBgm ( bool  doClear = true,
bool  forSave = false 
)
static

現在のBGMを取得する

引数
doClearBGMのストップを行なうかどうか
forSaveセーブデータの保存用かどうか(isTemporaryなmBgmSoundを無視するかどうか)
戻り値

◆ GetNowBgs()

static SoundDef Yukar.Engine.Audio.GetNowBgs ( )
static

現在の環境音を取得する

戻り値

◆ GetNowBgsRom()

static Common.Resource.ResourceItem Yukar.Engine.Audio.GetNowBgsRom ( )
static

再生中の環境音のリソースを取得する

戻り値

◆ GetSeId()

static int Yukar.Engine.Audio.GetSeId ( Common.Resource.SoundResource  sound,
bool  reverseOrder = false 
)
static

指定リソースの効果音IDを取得する

引数
sound
reverseOrder
戻り値

◆ Initialize()

static void Yukar.Engine.Audio.Initialize ( )
static

サウンドシステムの初期化

◆ InitializeSETypeCount()

static void Yukar.Engine.Audio.InitializeSETypeCount ( int  inNormalSECount,
int  inArnisSECount 
)
static

効果音同時再生数の最大を設定する

引数
inNormalSECount通常再生
inArnisSECount3Dサウンド

◆ InvalidateWaveCache()

static void Yukar.Engine.Audio.InvalidateWaveCache ( Guid  guid)
static

指定サウンドの復号済みWaveキャッシュを破棄する。 再インポート等でファイル内容が差し替わっても guId は同じままのため、 キャッシュを追い出さないと古い Wave が再生され続ける(波形表示はファイルから 直接生成するため正常に見える)。再取り込み時に明示的に呼び出すこと。

引数
guid対象 SoundResource の guId

◆ IsBgmPlaying()

static bool Yukar.Engine.Audio.IsBgmPlaying ( )
static

BGMが再生中かどうかを取得する

戻り値

◆ IsSePlaying() [1/2]

static bool Yukar.Engine.Audio.IsSePlaying ( Common.Resource.SoundResource  sound)
static

指定リソースの効果音が再生中かどうかを取得する

引数
sound
戻り値

◆ IsSePlaying() [2/2]

static bool Yukar.Engine.Audio.IsSePlaying ( int  seId)
static

指定IDの効果音が再生中かどうかを取得する

引数
seId
戻り値

◆ LoadSound()

static int Yukar.Engine.Audio.LoadSound ( Common.Resource.SoundResource  rom,
bool  getUniqueId = false 
)
static

サウンドを読み込む

引数
rom
getUniqueIdfalse の場合、既に読み込み済みの場合は ID を返却するだけ
戻り値

◆ LoadSystemSound()

static int Yukar.Engine.Audio.LoadSystemSound ( Common.Resource.SoundResource  rom)
static

システム効果音(決定音・キャンセル音など)としてサウンドを読み込む シーン遷移時の一括停止(StopAllSound(false))の対象外になる

引数
rom
戻り値

◆ PauseSound()

static void Yukar.Engine.Audio.PauseSound ( int  id)
static

サウンドのポーズ

引数
idサウンドのID

◆ PlayBgm()

static void Yukar.Engine.Audio.PlayBgm ( Common.Resource.SoundResource  rom,
float  volume = 1.0f,
float  tempo = 1.0f,
bool  isTemporary = false 
)
static

BGMを再生する

引数
rom
volume
tempo
isTemporaryセーブデータに記録しない一時的なもの(ファンファーレ)として再生するかどうか

◆ PlayBgs()

static void Yukar.Engine.Audio.PlayBgs ( Common.Resource.SoundResource  rom,
float  volume = 1.0f,
float  tempo = 1.0f 
)
static

環境音を再生する

引数
rom
volume
tempo

◆ PlayDummy()

static void Yukar.Engine.Audio.PlayDummy ( )
static

内蔵の無音ファイルを再生する

kmyCore.dllより先にexe本体でサウンドを再生することでWindowsミキサーの音量保存を機能させるために利用する

◆ PlaySound()

static void Yukar.Engine.Audio.PlaySound ( int  id,
float  pan = 0f,
float  volume = 1.0f,
float  tempo = 1.0f,
Audio.SoundType  soundType = Audio.SoundType.Normal 
)
static

効果音を再生する

引数
id
pan
volume
tempo
soundType

◆ ResumeSound()

static void Yukar.Engine.Audio.ResumeSound ( int  id)
static

ポーズしたサウンドの再開

引数
idサウンドのID

◆ SetBgmVolume()

static void Yukar.Engine.Audio.SetBgmVolume ( float  volume)
static

BGMのボリュームを設定する

引数
volume

◆ SetDistanceScaleMaxDistance()

static void Yukar.Engine.Audio.SetDistanceScaleMaxDistance ( float  v)
static

距離減衰の基準距離を設定する

引数
v

◆ SetListenerMatrix()

static void Yukar.Engine.Audio.SetListenerMatrix ( SharpKmyMath.Matrix4  mtx)
static

3Dサウンドの聴者位置・向き・上方向を設定する

引数
mtx

◆ setMasterVolume()

static void Yukar.Engine.Audio.setMasterVolume ( float  bgm,
float  se 
)
static

マスターボリュームを変更する

引数
bgm
se

◆ SetSePosition()

static void Yukar.Engine.Audio.SetSePosition ( int  id,
float  x,
float  y,
float  z 
)
static

効果音の再生位置設定(再生開始時はPlaySoundの前に位置を設定しておく必要があります)

引数
id効果音ID
xX座標
yY座標
zZ座標

◆ SetSEVolume()

static void Yukar.Engine.Audio.SetSEVolume ( int  id,
float  volume = 1 
)
static

効果音のボリューム設定

引数
id効果音ID
volumeボリューム

◆ StopAllSound()

static void Yukar.Engine.Audio.StopAllSound ( bool  includeSystemSe = true)
static

全効果音の再生終了

引数
includeSystemSe決定音などのシステム効果音も止めるかどうか

◆ StopBgm()

static void Yukar.Engine.Audio.StopBgm ( )
static

BGMを停止する

◆ StopBgs()

static void Yukar.Engine.Audio.StopBgs ( )
static

環境音を停止する

◆ StopSound()

static void Yukar.Engine.Audio.StopSound ( int  loadedSeId)
static

指定IDの効果音の再生終了

引数
loadedSeId

◆ SwapBgm()

static void Yukar.Engine.Audio.SwapBgm ( SoundDef  sound)
static

再生中のBGMを差し替える 再生位置などを引き継ぐことできます

引数
sound

◆ UncacheSound()

static void Yukar.Engine.Audio.UncacheSound ( Sound  pre)
static

先読みしたサウンドの解放

引数
pre

◆ UnloadAllSound()

static void Yukar.Engine.Audio.UnloadAllSound ( )
static

全効果音の解放

◆ UnloadSound() [1/2]

static void Yukar.Engine.Audio.UnloadSound ( Common.Resource.SoundResource  rom)
static

サウンドをアンロードする 他の場所から参照されている場合は 参照カウントを減らすだけ

引数
rom

◆ UnloadSound() [2/2]

static void Yukar.Engine.Audio.UnloadSound ( int  id)
static

サウンドをアンロードする 他の場所から参照されている場合は 参照カウントを減らすだけ

引数
id