Lumino (C API)
LNAudio.h
1 #pragma once
2 #include "LNCommon.h"
3 #include "LNTypedef.h"
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif // __cplusplus
8 
14 LN_MODULE(Audio)
15 
16 //==============================================================================
20 LN_STATIC_CLASS(LNGameAudio)
21 
32  LN_STATIC_API
33  LNResult LNGameAudio_PlayBGM(const LNChar* filePath, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f), double fadeTime LN_DEFAULT_ARG(0.0));
34 
43  LN_STATIC_API
44  LNResult LNGameAudio_PlayBGMMem(const void* data, int dataSize, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f), double fadeTime LN_DEFAULT_ARG(0.0));
45  /*Option
46  @disable[cs,ruby]
47  Option*/
48 
53  LN_STATIC_API
54  LNResult LNGameAudio_StopBGM(double fadeTime LN_DEFAULT_ARG(0.0));
55 
65  LN_STATIC_API
66  LNResult LNGameAudio_PlayBGS(const LNChar* filePath, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f), double fadeTime LN_DEFAULT_ARG(0.0));
67 
76  LN_STATIC_API
77  LNResult LNGameAudio_PlayBGSMem(const void* data, int dataSize, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f), double fadeTime LN_DEFAULT_ARG(0.0));
78  /*Option
79  @disable[cs,ruby]
80  Option*/
81 
86  LN_STATIC_API
87  LNResult LNGameAudio_StopBGS(double fadeTime LN_DEFAULT_ARG(0.0));
88 
98  LN_STATIC_API
99  LNResult LNGameAudio_PlayME(const LNChar* filePath, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
100 
108  LN_STATIC_API
109  LNResult LNGameAudio_PlayMEMem(const void* data, int dataSize, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
110  /*Option
111  @disable[cs,ruby]
112  Option*/
113 
117  LN_STATIC_API
119 
127  LN_STATIC_API
128  LNResult LNGameAudio_PlaySE(const LNChar* filePath, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
129 
138  LN_STATIC_API
139  LNResult LNGameAudio_PlaySE3D(const LNChar* filePath, const LNVector3* position, float distance, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
140 
151  LN_STATIC_API
152  LN_ATTR_OVERLOAD(LNGameAudio_PlaySE3D)
153  LNResult LNGameAudio_PlaySE3DXYZ(const LNChar* filePath, float x, float y, float z, float distance, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
154 
162  LN_STATIC_API
163  LNResult LNGameAudio_PlaySEMem(const void* data, int dataSize, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
164  /*Option
165  @disable[cs,ruby]
166  Option*/
167 
177  LN_STATIC_API
178  LNResult LNGameAudio_PlaySE3DMem(const void* data, int dataSize, const LNVector3* position, float distance, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
179  /*Option
180  @disable[cs,ruby]
181  Option*/
182 
194  LN_STATIC_API
195  LN_ATTR_OVERLOAD(LNGameAudio_PlaySE3DMem)
196  LNResult LNGameAudio_PlaySE3DMemXYZ(const void* data, int dataSize, float x, float y, float z, float distance, float volume LN_DEFAULT_ARG(1.0f), float pitch LN_DEFAULT_ARG(1.0f));
197  /*Option
198  @disable[cs,ruby]
199  Option*/
200 
204  LN_STATIC_API
206 
212  LN_STATIC_API
213  LNResult LNGameAudio_SetBGMVolume(float volume, double fadeTime LN_DEFAULT_ARG(0.0));
214 
220  LN_STATIC_API
221  LNResult LNGameAudio_SetBGSVolume(float volume, double fadeTime LN_DEFAULT_ARG(0.0));
222 
223 
224 LN_CLASS_END
225 
226 //==============================================================================
230 LN_STATIC_CLASS(LNSoundListener)
231 
236  LN_STATIC_API
237  LN_ATTR_PROPERTY
239 
246  LN_STATIC_API
247  LN_ATTR_PROPERTY
248  LN_ATTR_OVERLOAD(LNSoundListener_SetPositionXYZ)
249  LNResult LNSoundListener_SetPositionXYZ(float x, float y, float z);
250 
255  LN_STATIC_API
256  LN_ATTR_PROPERTY
258 
265  LN_STATIC_API
266  LN_ATTR_PROPERTY
267  LN_ATTR_OVERLOAD(LNSoundListener_SetDirection)
268  LNResult LNSoundListener_SetDirectionXYZ(float x, float y, float z);
269 
274  LN_STATIC_API
275  LN_ATTR_PROPERTY
277 
284  LN_STATIC_API
285  LN_ATTR_PROPERTY
286  LN_ATTR_OVERLOAD(LNSoundListener_SetUpDirection)
287  LNResult LNSoundListener_SetUpDirectionXYZ(float x, float y, float z);
288 
293  LN_STATIC_API
294  LN_ATTR_PROPERTY
296 
303  LN_STATIC_API
304  LN_ATTR_PROPERTY
305  LN_ATTR_OVERLOAD(LNSoundListener_SetVelocity)
306  LNResult LNSoundListener_SetVelocityXYZ(float x, float y, float z);
307 
308 LN_CLASS_END
309 
310 //==============================================================================
314 LN_CLASS(LNSound, LNObject)
315 
321  LN_INSTANCE_API
322  LN_ATTR_CONSTRUCTOR
323  LNResult LNSound_Create(const LNChar* filePath, LN_OUT LN_HANDLE(LNSound)* sound);
324 
331  LN_INSTANCE_API
332  LN_ATTR_CONSTRUCTOR
333  LNResult LNSound_CreateMem(const void* data, int dataSize, LN_OUT LN_HANDLE(LNSound)* sound);
334  /*Option
335  @disable[cs,ruby]
336  Option*/
337 
343  LN_INSTANCE_API
344  LN_ATTR_PROPERTY
345  LNResult LNSound_SetVolume(LN_HANDLE(LNSound) sound, float volume);
346 
352  LN_INSTANCE_API
353  LN_ATTR_PROPERTY
354  LNResult LNSound_GetVolume(LN_HANDLE(LNSound) sound, float* outVolume);
355 
361  LN_INSTANCE_API
362  LN_ATTR_PROPERTY
363  LNResult LNSound_SetPitch(LN_HANDLE(LNSound) sound, float pitch);
364 
370  LN_INSTANCE_API
371  LN_ATTR_PROPERTY
372  LNResult LNSound_GetPitch(LN_HANDLE(LNSound) sound, float* outPitch);
373 
379  LN_INSTANCE_API
380  LN_ATTR_PROPERTY
381  LNResult LNSound_SetLoopEnabled(LN_HANDLE(LNSound) sound, LNBool loopEnable);
382 
388  LN_INSTANCE_API
389  LN_ATTR_PROPERTY
390  LNResult LNSound_IsLoopEnabled(LN_HANDLE(LNSound) sound, LNBool* outEnabled);
391 
399  LN_INSTANCE_API
400  LNResult LNSound_SetLoopRange(LN_HANDLE(LNSound) sound, int begin, int length);
401 
407  LN_INSTANCE_API
408  LN_ATTR_PROPERTY
409  LNResult LNSound_Set3DEnabled(LN_HANDLE(LNSound) sound, LNBool enabled);
410 
416  LN_INSTANCE_API
417  LN_ATTR_PROPERTY
418  LNResult LNSound_Is3DEnabled(LN_HANDLE(LNSound) sound, LNBool* outEnabled);
419 
425  LN_INSTANCE_API
426  LN_ATTR_PROPERTY
427  LNResult LNSound_SetPlayingMode(LN_HANDLE(LNSound) sound, LNSoundPlayingMode mode);
428 
434  LN_INSTANCE_API
435  LN_ATTR_PROPERTY
436  LNResult LNSound_GetPlayingMode(LN_HANDLE(LNSound) sound, LNSoundPlayingMode* outMode);
437 
443  LN_INSTANCE_API
444  LN_ATTR_PROPERTY
445  LNResult LNSound_GetPlayingState(LN_HANDLE(LNSound) sound, LNSoundPlayingState* outState);
446 
451  LN_INSTANCE_API
452  LNResult LNSound_Play(LN_HANDLE(LNSound) sound);
453 
458  LN_INSTANCE_API
459  LNResult LNSound_Stop(LN_HANDLE(LNSound) sound);
460 
465  LN_INSTANCE_API
466  LNResult LNSound_Pause(LN_HANDLE(LNSound) sound);
467 
472  LN_INSTANCE_API
473  LNResult LNSound_Resume(LN_HANDLE(LNSound) sound);
474 
482  LN_INSTANCE_API
483  LNResult LNSound_FadeVolume(LN_HANDLE(LNSound) sound, float targetVolume, double time, LNSoundFadeBehavior behavior);
484 
490  LN_INSTANCE_API
491  LN_ATTR_PROPERTY
492  LNResult LNSound_GetPlayedSamples(LN_HANDLE(LNSound) sound, int64_t* outSamples);
493 
499  LN_INSTANCE_API
500  LN_ATTR_PROPERTY
501  LNResult LNSound_GetTotalSamples(LN_HANDLE(LNSound) sound, int64_t* outSamples);
502 
508  LN_INSTANCE_API
509  LN_ATTR_PROPERTY
510  LNResult LNSound_GetSamplingRate(LN_HANDLE(LNSound) sound, int32_t* outRate);
511 
517  LN_INSTANCE_API
518  LN_ATTR_PROPERTY
519  LNResult LNSound_SetEmitterPosition(LN_HANDLE(LNSound) sound, const LNVector3* position);
520 
528  LN_INSTANCE_API
529  LN_ATTR_PROPERTY
530  LN_ATTR_OVERLOAD(LNSound_SetEmitterPosition)
531  LNResult LNSound_SetEmitterPositionXYZ(LN_HANDLE(LNSound) sound, float x, float y, float z);
532 
538  LN_INSTANCE_API
539  LN_ATTR_PROPERTY
540  LNResult LNSound_SetEmitterVelocity(LN_HANDLE(LNSound) sound, const LNVector3* velocity);
541 
549  LN_INSTANCE_API
550  LN_ATTR_PROPERTY
551  LN_ATTR_OVERLOAD(LNSound_SetEmitterVelocity)
552  LNResult LNSound_SetEmitterVelocityXYZ(LN_HANDLE(LNSound) sound, float x, float y, float z);
553 
559  LN_INSTANCE_API
560  LN_ATTR_PROPERTY
561  LNResult LNSound_SetEmitterMaxDistance(LN_HANDLE(LNSound) sound, float distance);
562 
563 LN_CLASS_END
564 
565 LN_MODULE_END
567 #ifdef __cplusplus
568 } // extern "C" {
569 #endif // __cplusplus
LNResult LNSound_CreateMem(const void *data, int dataSize, LNHandle *sound)
メモリ上の音声ファイルデータからサウンドオブジェクトを作成します。
LNResult LNGameAudio_StopBGS(double fadeTime)
BGS の演奏を停止します。、
LNResult LNSoundListener_SetDirectionXYZ(float x, float y, float z)
3D音声のリスナーの正面方向を設定します。
LNResult LNSound_Pause(LNHandle sound)
サウンドの再生を一時停止します。
LNResult LNGameAudio_PlaySE3D(const LNChar *filePath, const LNVector3 *position, float distance, float volume, float pitch)
SE を演奏します。(3D サウンド)
LNResult LNGameAudio_PlayBGM(const LNChar *filePath, float volume, float pitch, double fadeTime)
ゲーム向け音声再生のユーティリティクラスです。
LNResult LNSound_SetLoopRange(LNHandle sound, int begin, int length)
サウンドのループ再生の範囲を設定します。
LNResult LNSound_Stop(LNHandle sound)
サウンドの再生を停止します。
LNResult LNGameAudio_PlaySE(const LNChar *filePath, float volume, float pitch)
SE を演奏します。
LNResult LNSoundListener_SetPosition(const LNVector3 *position)
3D音声のリスナーに関する情報を操作します。
LNResult LNSoundListener_SetUpDirection(const LNVector3 *direction)
3D音声のリスナーの上方向を設定します。(正面方向とは直交であること)
LNResult LNSoundListener_SetPositionXYZ(float x, float y, float z)
3D音声のリスナーの位置を設定します。
3Dベクトル
Definition: LNTypedef.h:185
LNResult LNSound_Create(const LNChar *filePath, LNHandle *sound)
ファイルからサウンドオブジェクトを作成します。
LNResult LNSoundListener_SetDirection(const LNVector3 *direction)
3D音声のリスナーの正面方向を設定します。
enum tagLNSoundFadeBehavior LNSoundFadeBehavior
音量フェード完了時の動作
LNResult LNGameAudio_PlayME(const LNChar *filePath, float volume, float pitch)
ME を演奏します。
LNResult LNGameAudio_SetBGSVolume(float volume, double fadeTime)
再生中のBGSの音量を設定します。(フェードアウト中は無効)
LNResult LNGameAudio_PlayBGSMem(const void *data, int dataSize, float volume, float pitch, double fadeTime)
メモリ上の音声ファイルデータから BGS を演奏します。
LNResult LNSoundListener_SetVelocityXYZ(float x, float y, float z)
3D音声のリスナーの速度を設定します。
enum tagLNSoundPlayingMode LNSoundPlayingMode
サウンド再生方法
LNResult LNSound_SetEmitterPosition(LNHandle sound, const LNVector3 *position)
サウンドの 3D 音源としての位置を設定します。
LNResult LNSound_Is3DEnabled(LNHandle sound, LNBool *outEnabled)
サウンドが 3D 音源であるかを確認します。
LNResult LNGameAudio_PlayMEMem(const void *data, int dataSize, float volume, float pitch)
メモリ上の音声ファイルデータから ME を演奏します。
LNResult LNSound_Set3DEnabled(LNHandle sound, LNBool enabled)
サウンドを 3D 音源であるかを設定します。
LNResult LNGameAudio_StopBGM(double fadeTime)
BGM の演奏を停止します。
LNResult LNSound_SetEmitterMaxDistance(LNHandle sound, float distance)
サウンドの 3D 音源の減衰距離 (聴こえなくなる距離) を設定します。(default:100)
LNResult LNGameAudio_PlayBGMMem(const void *data, int dataSize, float volume, float pitch, double fadeTime)
メモリ上の音声ファイルデータを使用して BGM を演奏します。
LNResult LNSound_Resume(LNHandle sound)
サウンドの再生を一時停止します。
LNResult LNSound_SetPitch(LNHandle sound, float pitch)
サウンドのピッチを設定します。
LNResult LNGameAudio_PlaySE3DMem(const void *data, int dataSize, const LNVector3 *position, float distance, float volume, float pitch)
メモリ上の音声ファイルデータから SE を演奏します。 (3D サウンド)
enum tagLNSoundPlayingState LNSoundPlayingState
サウンドの再生状態
LNResult LNGameAudio_StopME()
ME の演奏を停止します。
LNResult LNSoundListener_SetVelocity(const LNVector3 *velocity)
3D音声のリスナーの速度を設定します。
LNResult LNSound_GetPlayedSamples(LNHandle sound, int64_t *outSamples)
サウンドの再生したサンプル数を取得します。
LNResult LNSound_IsLoopEnabled(LNHandle sound, LNBool *outEnabled)
サウンドのループ再生が有効であるかを確認します。
LNResult LNSound_GetVolume(LNHandle sound, float *outVolume)
サウンドのボリュームを取得します。
LNResult LNSound_SetEmitterPositionXYZ(LNHandle sound, float x, float y, float z)
サウンドの 3D 音源としての位置を設定します。
enum tagLNBool LNBool
真偽値
LNResult LNSound_SetEmitterVelocityXYZ(LNHandle sound, float x, float y, float z)
サウンドの 3D 音源としての速度を設定します。
LNResult LNSound_SetEmitterVelocity(LNHandle sound, const LNVector3 *velocity)
サウンドの 3D 音源としての速度を設定します。
LNResult LNGameAudio_PlaySE3DMemXYZ(const void *data, int dataSize, float x, float y, float z, float distance, float volume, float pitch)
メモリ上の音声ファイルデータから SE を演奏します。(3D サウンド)
LNResult LNGameAudio_PlaySE3DXYZ(const LNChar *filePath, float x, float y, float z, float distance, float volume, float pitch)
SE を演奏します。(3D サウンド)
LNResult LNSound_GetPlayingMode(LNHandle sound, LNSoundPlayingMode *outMode)
サウンド再生時の音声データの再生方法を取得します。
LNResult LNSound_GetPitch(LNHandle sound, float *outPitch)
サウンドのピッチを取得します。
enum tagLNResult LNResult
結果・エラーコード
LNResult LNSound_SetPlayingMode(LNHandle sound, LNSoundPlayingMode mode)
サウンド再生時の音声データの再生方法を設定します。
LNResult LNSound_GetSamplingRate(LNHandle sound, int32_t *outRate)
サウンドのサンプリングレートを取得します。
LNResult LNSound_FadeVolume(LNHandle sound, float targetVolume, double time, LNSoundFadeBehavior behavior)
サウンド音量のフェード操作を行います。
LNResult LNGameAudio_PlayBGS(const LNChar *filePath, float volume, float pitch, double fadeTime)
BGS を演奏します。
LNResult LNSound_GetTotalSamples(LNHandle sound, int64_t *outSamples)
サウンドの音声データ全体のサンプル数を取得します。
LNResult LNSound_Play(LNHandle sound)
サウンドを再生します。
LNResult LNGameAudio_SetBGMVolume(float volume, double fadeTime)
再生中のBGMの音量を設定します。(フェードアウト中は無効)
LNResult LNSound_GetPlayingState(LNHandle sound, LNSoundPlayingState *outState)
サウンドの再生状態を取得します。
LNResult LNSound_SetLoopEnabled(LNHandle sound, LNBool loopEnable)
サウンドのループ再生の有無を設定します。
LNResult LNSound_SetVolume(LNHandle sound, float volume)
サウンドのボリュームを設定します。
LNResult LNSoundListener_SetUpDirectionXYZ(float x, float y, float z)
3D音声のリスナーの上方向を設定します。(正面方向とは直交であること)
LNResult LNGameAudio_StopSE()
すべての SE の演奏を停止します。
LNResult LNGameAudio_PlaySEMem(const void *data, int dataSize, float volume, float pitch)
メモリ上の音声データから SE を演奏します。