OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::Audio Class Reference

オーディオ More...

#include <Audio.hpp>

Inherits s3d::AssetHandle< Audio >.

Inherited by s3d::AudioAsset.

Classes

struct  FileStreaming
 ストリーミング再生を指定するフラグ
 

Public Member Functions

SIV3D_NODISCARD_CXX20 Audio ()
 デフォルトコンストラクタ More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave, const Loop loop)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave, Arg::loopBegin_< uint64 > loopBegin)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave, Arg::loopBegin_< uint64 > loopBegin, Arg::loopEnd_< uint64 > loopEnd)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave, Arg::loopBegin_< Duration > loopBegin)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave, Arg::loopBegin_< Duration > loopBegin, Arg::loopEnd_< Duration > loopEnd)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (Wave &&wave, const Optional< AudioLoopTiming > &loop)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave, const Loop loop)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave, Arg::loopBegin_< uint64 > loopBegin)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave, Arg::loopBegin_< uint64 > loopBegin, Arg::loopEnd_< uint64 > loopEnd)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave, Arg::loopBegin_< Duration > loopBegin)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave, Arg::loopBegin_< Duration > loopBegin, Arg::loopEnd_< Duration > loopEnd)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const Wave &wave, const Optional< AudioLoopTiming > &loop)
 Wave からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path, const Loop loop)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path, Arg::loopBegin_< uint64 > loopBegin)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path, Arg::loopBegin_< uint64 > loopBegin, Arg::loopEnd_< uint64 > loopEnd)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path, Arg::loopBegin_< Duration > loopBegin)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path, Arg::loopBegin_< Duration > loopBegin, Arg::loopEnd_< Duration > loopEnd)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FilePathView path, const Optional< AudioLoopTiming > &loop)
 オーディオファイルをロードしてオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FileStreaming, FilePathView path)
 オーディオファイルからストリーミング形式でロードするオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FileStreaming, FilePathView path, Loop loop)
 オーディオファイルからストリーミング形式でロードするオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (FileStreaming, FilePathView path, Arg::loopBegin_< uint64 > loopBegin)
 オーディオファイルからストリーミング形式でロードするオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (GMInstrument instrument, uint8 key, const Duration &duration, double velocity=1.0, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 楽器の音のオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (GMInstrument instrument, uint8 key, const Duration &noteOn, const Duration &noteOff, double velocity=1.0, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 楽器の音のオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (IReader &&reader, AudioFormat format=AudioFormat::Unspecified)
 IReader からオーディオを作成します。 More...
 
SIV3D_NODISCARD_CXX20 Audio (const std::shared_ptr< IAudioStream > &pAudioStream, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 
virtual ~Audio ()
 デストラクタ More...
 
bool isStreaming () const
 ストリーミングオーディオであるかを返します。 More...
 
uint32 sampleRate () const
 オーディオのサンプリングレートを返します。 More...
 
size_t samples () const
 オーディオの長さ(サンプル)を返します。 More...
 
double lengthSec () const
 オーディオの長さ(秒)を返します。 More...
 
int64 samplesPlayed () const
 ループを含め再生したサンプル数の累計を返します。 More...
 
bool isActive () const
 オーディオがアクティブであるかを返します。 More...
 
bool isPlaying () const
 オーディオが再生中であるかを返します。 More...
 
bool isPaused () const
 オーディオが一時停止中であるかを返します。 More...
 
bool isLoop () const
 新しく再生したときにループが有効になるかを返します。 More...
 
AudioLoopTiming getLoopTiming () const
 ループ再生する場合のループ範囲を返します。 More...
 
void setLoop (bool loop) const
 新しく再生するときのループの有無を設定します。 More...
 
void setLoopPoint (uint64 loopBegin) const
 新しくループ再生するときのループ開始位置(サンプル)を設定します。 More...
 
void setLoopPoint (const Duration &loopBegin) const
 新しくループ再生するときのループ開始位置(秒)を設定します。 More...
 
void play (MixBus busIndex=MixBus0) const
 オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。 More...
 
void play (const Duration &fadeTime, MixBus busIndex=MixBus0) const
 オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。 More...
 
void play (MixBus busIndex, const Duration &fadeTime) const
 オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。 More...
 
void pause () const
 再生中のオーディオを一時停止します。 More...
 
void pause (const Duration &fadeTime) const
 指定した時間をかけて音量をフェードアウトさせたのち一時停止します。 More...
 
void stop () const
 オーディオを即座に停止し、非アクティブにします。 More...
 
void stop (const Duration &fadeTime) const
 指定した時間をかけて音量をフェードアウトさせたのち停止します。 More...
 
void playOneShot (double volume=1.0, double pan=0.0, double speed=1.0, MixBus=MixBus0) const
 オーディオを重複可能にして一度だけ再生します。 More...
 
void playOneShot (MixBus busIndex, double volume=1.0, double pan=0.0, double speed=1.0) const
 オーディオを重複可能にして一度だけ再生します。 More...
 
void pauseAllShots () const
 playOneShot() で再生中のすべてのオーディオを一時停止します More...
 
void pauseAllShots (const Duration &fadeTime) const
 playOneShot() で再生中のすべてのオーディオを、指定した時間をかけて音量をフェードアウトさせたのち一時停止します More...
 
void resumeAllShots () const
 playOneShot() 後に一時停止されたオーディオを再開します More...
 
void resumeAllShots (const Duration &fadeTime) const
 playOneShot() 後に一時停止されたすべてのオーディオを、指定した時間をかけて音量をフェードインさせながら再開します More...
 
void stopAllShots () const
 playOneShot() で再生中のすべてのオーディオをすべて停止します More...
 
void stopAllShots (const Duration &fadeTime) const
 playOneShot() で再生中のすべてのオーディオを、指定した時間をかけて音量をフェードアウトさせたのち停止します More...
 
int64 posSample () const
 再生位置(サンプル)を返します。 More...
 
double posSec () const
 再生位置(秒)を返します。 More...
 
void seekSamples (size_t posSample) const
 再生位置を指定した位置(サンプル)に設定します。 More...
 
void seekTime (double posSec) const
 再生位置を指定した位置(秒)に設定します。 More...
 
void seekTime (const Duration &pos) const
 再生位置を指定した位置に設定します。 More...
 
size_t loopCount () const
 ループ再生された回数を返します。 More...
 
double getVolume () const
 音量の設定 [0.0, 1.0] を返します。 More...
 
const AudiosetVolume (double volume) const
 音量 [0.0, 1.0] を設定します。 More...
 
const AudiofadeVolume (double volume, const Duration &fadeTime) const
 指定した時間をかけて目標の音量に変更します。 More...
 
double getPan () const
 パンの設定 [-1.0, 1.0] を返します。 More...
 
const AudiosetPan (double pan) const
 パン [-1.0, 1.0] を設定します。 More...
 
const AudiofadePan (double pan, const Duration &fadeTime) const
 指定した時間をかけて目標のパンに変更します。 More...
 
double getSpeed () const
 スピードの設定を返します。 More...
 
const AudiosetSpeed (double speed) const
 スピード(再生速度の倍率)を設定します。 More...
 
const AudiofadeSpeed (double speed, const Duration &fadeTime) const
 指定した時間をかけて目標のスピード(再生速度の倍率)に変更します。 More...
 
const AudiosetSpeedBySemitone (int32 semitone) const
 半音単位で音階が変わるようスピード(再生速度の倍率)を設定します。 More...
 
const AudiofadeSpeedBySemitone (int32 semitone, const Duration &fadeTime) const
 定した時間をかけて、半音単位で音階が変わるようスピード(再生速度の倍率)を設定します。 More...
 
const float * getSamples (size_t channel) const
 音声波形のサンプルデータにアクセスします。 More...
 
void swap (Audio &other) noexcept
 オーディオを入れ替えます。 More...
 
- Public Member Functions inherited from s3d::AssetHandle< Audio >
SIV3D_NODISCARD_CXX20 AssetHandle ()
 
SIV3D_NODISCARD_CXX20 AssetHandle (std::shared_ptr< AssetIDWrapperType > &&id)
 
IDType id () const noexcept
 アセットの内部管理 ID を返します。 More...
 
bool isEmpty () const noexcept
 アセットが空であるかを返します。 More...
 
 operator bool () const noexcept
 アセットが空でないかを返します。 More...
 
bool operator== (const AssetHandle &other) const noexcept
 2 つのアセットが同じオブジェクトであるかを返します。 More...
 
bool operator!= (const AssetHandle &other) const noexcept
 2 つのアセットが異なるオブジェクトであるかを返します。 More...
 
void release ()
 このハンドルが管理するアセットを解放します。 More...
 

Static Public Attributes

static constexpr struct s3d::Audio::FileStreaming Stream
 
static constexpr size_t MaxBusCount = 4
 バスの最大数 More...
 
static constexpr size_t MaxFilterCount = 8
 フィルターの最大数 More...
 

Additional Inherited Members

- Public Types inherited from s3d::AssetHandle< Audio >
using AssetIDWrapperType = AssetIDWrapper< AssetHandle >
 アセット ID ラッパー型 More...
 
using IDType = typename AssetIDWrapperType::IDType
 アセット ID 型 More...
 
- Protected Attributes inherited from s3d::AssetHandle< Audio >
std::shared_ptr< AssetIDWrapperTypem_handle
 

Detailed Description

オーディオ

Constructor & Destructor Documentation

◆ Audio() [1/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( )

デフォルトコンストラクタ

◆ Audio() [2/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave)
explicit

Wave からオーディオを作成します。

Parameters
waveWave

◆ Audio() [3/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave,
const Loop  loop 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopループする場合は Loop::Yes, それ以外の場合は Loop::No

◆ Audio() [4/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave,
Arg::loopBegin_< uint64 loopBegin 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(サンプル)

◆ Audio() [5/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave,
Arg::loopBegin_< uint64 loopBegin,
Arg::loopEnd_< uint64 loopEnd 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(サンプル)
loopEndループの終端位置(サンプル)

◆ Audio() [6/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave,
Arg::loopBegin_< Duration loopBegin 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(秒)

◆ Audio() [7/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave,
Arg::loopBegin_< Duration loopBegin,
Arg::loopEnd_< Duration loopEnd 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(秒)
loopEndループの終端位置(秒)

◆ Audio() [8/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( Wave &&  wave,
const Optional< AudioLoopTiming > &  loop 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopループ情報

◆ Audio() [9/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave)
explicit

Wave からオーディオを作成します。

Parameters
waveWave

◆ Audio() [10/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave,
const Loop  loop 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopループする場合は Loop::Yes, それ以外の場合は Loop::No

◆ Audio() [11/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave,
Arg::loopBegin_< uint64 loopBegin 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(サンプル)

◆ Audio() [12/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave,
Arg::loopBegin_< uint64 loopBegin,
Arg::loopEnd_< uint64 loopEnd 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(サンプル)
loopEnd

◆ Audio() [13/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave,
Arg::loopBegin_< Duration loopBegin 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(秒)

◆ Audio() [14/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave,
Arg::loopBegin_< Duration loopBegin,
Arg::loopEnd_< Duration loopEnd 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopBeginループの開始位置(秒)
loopEndループの終端位置(秒)

◆ Audio() [15/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const Wave wave,
const Optional< AudioLoopTiming > &  loop 
)

Wave からオーディオを作成します。

Parameters
waveWave
loopループ情報

◆ Audio() [16/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path)
explicit

オーディオファイルをロードしてオーディオを作成します。

Parameters
pathファイルパス

◆ Audio() [17/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path,
const Loop  loop 
)

オーディオファイルをロードしてオーディオを作成します。

Parameters
pathファイルパス
loopループする場合は Loop::Yes, それ以外の場合は Loop::No

◆ Audio() [18/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path,
Arg::loopBegin_< uint64 loopBegin 
)

オーディオファイルをロードしてオーディオを作成します。

Parameters
path
loopBegin

◆ Audio() [19/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path,
Arg::loopBegin_< uint64 loopBegin,
Arg::loopEnd_< uint64 loopEnd 
)

オーディオファイルをロードしてオーディオを作成します。

Parameters
path
loopBegin
loopEnd

◆ Audio() [20/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path,
Arg::loopBegin_< Duration loopBegin 
)

オーディオファイルをロードしてオーディオを作成します。

Parameters
path
loopBegin

◆ Audio() [21/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path,
Arg::loopBegin_< Duration loopBegin,
Arg::loopEnd_< Duration loopEnd 
)

オーディオファイルをロードしてオーディオを作成します。

Parameters
path
loopBegin
loopEnd

◆ Audio() [22/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FilePathView  path,
const Optional< AudioLoopTiming > &  loop 
)

オーディオファイルをロードしてオーディオを作成します。

Parameters
path
loop

◆ Audio() [23/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FileStreaming  ,
FilePathView  path 
)

オーディオファイルからストリーミング形式でロードするオーディオを作成します。

Parameters
<br>
path
Remarks
ストリーミング再生は WAVE, OggVorbis, FLAC, MP3 のみサポート。
対応しない形式の場合、ストリーミング再生にはなりません。

◆ Audio() [24/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FileStreaming  ,
FilePathView  path,
Loop  loop 
)

オーディオファイルからストリーミング形式でロードするオーディオを作成します。

Parameters
<br>
path
loop
Remarks
ストリーミング再生は WAVE, OggVorbis, FLAC, MP3 のみサポート。
対応しない形式の場合、ストリーミング再生にはなりません。

◆ Audio() [25/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( FileStreaming  ,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin 
)

オーディオファイルからストリーミング形式でロードするオーディオを作成します。

Parameters
<br>
path
loopBegin
Remarks
ストリーミング再生は WAVE, OggVorbis, FLAC, MP3 のみサポート。
対応しない形式の場合、ストリーミング再生にはなりません。

◆ Audio() [26/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( GMInstrument  instrument,
uint8  key,
const Duration duration,
double  velocity = 1.0,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)

楽器の音のオーディオを作成します。

Parameters
instrument楽器
key音階
durationノートオンの時間
velocityベロシティ
sampleRateサンプルレート (Hz)

◆ Audio() [27/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( GMInstrument  instrument,
uint8  key,
const Duration noteOn,
const Duration noteOff,
double  velocity = 1.0,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)

楽器の音のオーディオを作成します。

Parameters
instrument楽器
key音階
noteOnノートオンの時間
noteOffノートオフの時間
velocityベロシティ
sampleRateサンプルレート (Hz)

◆ Audio() [28/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( IReader &&  reader,
AudioFormat  format = AudioFormat::Unspecified 
)
explicit

IReader からオーディオを作成します。

Parameters
reader
format

◆ Audio() [29/29]

SIV3D_NODISCARD_CXX20 s3d::Audio::Audio ( const std::shared_ptr< IAudioStream > &  pAudioStream,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)
explicit

◆ ~Audio()

virtual s3d::Audio::~Audio ( )
virtual

デストラクタ

Member Function Documentation

◆ fadePan()

const Audio& s3d::Audio::fadePan ( double  pan,
const Duration fadeTime 
) const

指定した時間をかけて目標のパンに変更します。

Parameters
panパン [-1.0, 1.0]. -1.0 が左、0.0 が中央、1.0 が右
fadeTimeフェード時間
Returns
*this

◆ fadeSpeed()

const Audio& s3d::Audio::fadeSpeed ( double  speed,
const Duration fadeTime 
) const

指定した時間をかけて目標のスピード(再生速度の倍率)に変更します。

Parameters
speedスピード(再生速度の倍率)
fadeTimeフェード時間
Returns
*this

◆ fadeSpeedBySemitone()

const Audio& s3d::Audio::fadeSpeedBySemitone ( int32  semitone,
const Duration fadeTime 
) const

定した時間をかけて、半音単位で音階が変わるようスピード(再生速度の倍率)を設定します。

Parameters
semitone目標の半音単位
fadeTimeフェード時間
Remarks
fadeSpeed(std::exp2(semitone / 12.0), fadeTime) と同じです。
Returns
*this

◆ fadeVolume()

const Audio& s3d::Audio::fadeVolume ( double  volume,
const Duration fadeTime 
) const

指定した時間をかけて目標の音量に変更します。

Parameters
volume目標の音量 [0.0, 1.0]
fadeTimeフェード時間
Returns
*this

◆ getLoopTiming()

AudioLoopTiming s3d::Audio::getLoopTiming ( ) const

ループ再生する場合のループ範囲を返します。

Returns
ループ再生する場合のループ範囲

◆ getPan()

double s3d::Audio::getPan ( ) const

パンの設定 [-1.0, 1.0] を返します。

Returns
パンの設定 [-1.0, 1.0]

◆ getSamples()

const float* s3d::Audio::getSamples ( size_t  channel) const

音声波形のサンプルデータにアクセスします。

Parameters
channel左チャンネルの場合 0, 右チャンネルの場合 1
Remarks
ストリーミング再生の場合は利用できません。
Returns
指定したチャンネルの音声波形データの先頭ポインタ。ストリーミング再生の場合は nullptr

◆ getSpeed()

double s3d::Audio::getSpeed ( ) const

スピードの設定を返します。

Returns
スピードの設定

◆ getVolume()

double s3d::Audio::getVolume ( ) const

音量の設定 [0.0, 1.0] を返します。

Returns
音量の設定 [0.0, 1.0]

◆ isActive()

bool s3d::Audio::isActive ( ) const

オーディオがアクティブであるかを返します。

Remarks
再生して、stop していないオーディオはアクティブです。
Returns
オーディオがアクティブな場合 true, それ以外の場合は false

◆ isLoop()

bool s3d::Audio::isLoop ( ) const

新しく再生したときにループが有効になるかを返します。

Returns
新しく再生したときにループが有効になる場合 true, それ以外の場合は false

◆ isPaused()

bool s3d::Audio::isPaused ( ) const

オーディオが一時停止中であるかを返します。

Returns
オーディオが一時停止中の場合 true, それ以外の場合は false

◆ isPlaying()

bool s3d::Audio::isPlaying ( ) const

オーディオが再生中であるかを返します。

Returns
オーディオが再生中の場合 true, それ以外の場合は false

◆ isStreaming()

bool s3d::Audio::isStreaming ( ) const

ストリーミングオーディオであるかを返します。

Returns
ストリーミングオーディオである場合 true, それ以外の場合は false

◆ lengthSec()

double s3d::Audio::lengthSec ( ) const

オーディオの長さ(秒)を返します。

Returns
オーディオの長さ(秒)

◆ loopCount()

size_t s3d::Audio::loopCount ( ) const

ループ再生された回数を返します。

Returns
ループ再生された回数

◆ pause() [1/2]

void s3d::Audio::pause ( ) const

再生中のオーディオを一時停止します。

◆ pause() [2/2]

void s3d::Audio::pause ( const Duration fadeTime) const

指定した時間をかけて音量をフェードアウトさせたのち一時停止します。

Parameters
fadeTimeフェードアウト時間

◆ pauseAllShots() [1/2]

void s3d::Audio::pauseAllShots ( ) const

playOneShot() で再生中のすべてのオーディオを一時停止します

Parameters
fadeTime

◆ pauseAllShots() [2/2]

void s3d::Audio::pauseAllShots ( const Duration fadeTime) const

playOneShot() で再生中のすべてのオーディオを、指定した時間をかけて音量をフェードアウトさせたのち一時停止します

Parameters
fadeTimeフェードアウト時間

◆ play() [1/3]

void s3d::Audio::play ( const Duration fadeTime,
MixBus  busIndex = MixBus0 
) const

オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。

Parameters
fadeTimeフェードイン時間
busIndexバスのインデックス
Remarks
すでに再生中の場合は何もしません。

◆ play() [2/3]

void s3d::Audio::play ( MixBus  busIndex,
const Duration fadeTime 
) const

オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。

Parameters
busIndexバスのインデックス
fadeTimeフェードイン時間
Remarks
すでに再生中の場合は何もしません。

◆ play() [3/3]

void s3d::Audio::play ( MixBus  busIndex = MixBus0) const

オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。

Parameters
busIndexバスのインデックス
Remarks
オーディオが一時停止中の場合 busIndex を無視して再生を再開します。
すでに再生中の場合は何もしません。

◆ playOneShot() [1/2]

void s3d::Audio::playOneShot ( double  volume = 1.0,
double  pan = 0.0,
double  speed = 1.0,
MixBus  = MixBus0 
) const

オーディオを重複可能にして一度だけ再生します。

Parameters
volume音量
panパン
speed再生スピード

◆ playOneShot() [2/2]

void s3d::Audio::playOneShot ( MixBus  busIndex,
double  volume = 1.0,
double  pan = 0.0,
double  speed = 1.0 
) const

オーディオを重複可能にして一度だけ再生します。

Parameters
busIndexバスのインデックス
volume音量
panパン
speed再生スピード

◆ posSample()

int64 s3d::Audio::posSample ( ) const

再生位置(サンプル)を返します。

Returns
再生位置(サンプル)

◆ posSec()

double s3d::Audio::posSec ( ) const

再生位置(秒)を返します。

Returns
再生位置(秒)

◆ resumeAllShots() [1/2]

void s3d::Audio::resumeAllShots ( ) const

playOneShot() 後に一時停止されたオーディオを再開します

◆ resumeAllShots() [2/2]

void s3d::Audio::resumeAllShots ( const Duration fadeTime) const

playOneShot() 後に一時停止されたすべてのオーディオを、指定した時間をかけて音量をフェードインさせながら再開します

Parameters
fadeTimeフェードイン時間

◆ sampleRate()

uint32 s3d::Audio::sampleRate ( ) const

オーディオのサンプリングレートを返します。

Returns
オーディオのサンプリングレート

◆ samples()

size_t s3d::Audio::samples ( ) const

オーディオの長さ(サンプル)を返します。

Returns
オーディオの長さ(サンプル)

◆ samplesPlayed()

int64 s3d::Audio::samplesPlayed ( ) const

ループを含め再生したサンプル数の累計を返します。

Returns
再生したサンプル数の累計

◆ seekSamples()

void s3d::Audio::seekSamples ( size_t  posSample) const

再生位置を指定した位置(サンプル)に設定します。

Parameters
posSample再生位置(サンプル)

◆ seekTime() [1/2]

void s3d::Audio::seekTime ( const Duration pos) const

再生位置を指定した位置に設定します。

Parameters
pos再生位置

◆ seekTime() [2/2]

void s3d::Audio::seekTime ( double  posSec) const

再生位置を指定した位置(秒)に設定します。

Parameters
posSec再生位置(秒)

◆ setLoop()

void s3d::Audio::setLoop ( bool  loop) const

新しく再生するときのループの有無を設定します。

Parameters
loopループの有無

◆ setLoopPoint() [1/2]

void s3d::Audio::setLoopPoint ( const Duration loopBegin) const

新しくループ再生するときのループ開始位置(秒)を設定します。

Parameters
loopBeginループ開始位置(秒)

◆ setLoopPoint() [2/2]

void s3d::Audio::setLoopPoint ( uint64  loopBegin) const

新しくループ再生するときのループ開始位置(サンプル)を設定します。

Parameters
loopBeginループ開始位置(サンプル)

◆ setPan()

const Audio& s3d::Audio::setPan ( double  pan) const

パン [-1.0, 1.0] を設定します。

Parameters
panパン [-1.0, 1.0]. -1.0 が左、0.0 が中央、1.0 が右
Returns
*this

◆ setSpeed()

const Audio& s3d::Audio::setSpeed ( double  speed) const

スピード(再生速度の倍率)を設定します。

Parameters
speedスピード(再生速度の倍率)
Remarks
スピードが上下すると音の高さも上下します。
Returns
*this

◆ setSpeedBySemitone()

const Audio& s3d::Audio::setSpeedBySemitone ( int32  semitone) const

半音単位で音階が変わるようスピード(再生速度の倍率)を設定します。

Parameters
semitone目標の半音単位
Remarks
setSpeed(std::exp2(semitone / 12.0)) と同じです。
Returns
*this

◆ setVolume()

const Audio& s3d::Audio::setVolume ( double  volume) const

音量 [0.0, 1.0] を設定します。

Parameters
volume音量 [0.0, 1.0]
Returns
*this

◆ stop() [1/2]

void s3d::Audio::stop ( ) const

オーディオを即座に停止し、非アクティブにします。

◆ stop() [2/2]

void s3d::Audio::stop ( const Duration fadeTime) const

指定した時間をかけて音量をフェードアウトさせたのち停止します。

Parameters
fadeTimeフェードアウト時間

◆ stopAllShots() [1/2]

void s3d::Audio::stopAllShots ( ) const

playOneShot() で再生中のすべてのオーディオをすべて停止します

◆ stopAllShots() [2/2]

void s3d::Audio::stopAllShots ( const Duration fadeTime) const

playOneShot() で再生中のすべてのオーディオを、指定した時間をかけて音量をフェードアウトさせたのち停止します

Parameters
fadeTimeフェードアウト時間

◆ swap()

void s3d::Audio::swap ( Audio other)
noexcept

オーディオを入れ替えます。

Parameters
other入れ替える先のオーディオ

Member Data Documentation

◆ MaxBusCount

constexpr size_t s3d::Audio::MaxBusCount = 4
staticconstexpr

バスの最大数

◆ MaxFilterCount

constexpr size_t s3d::Audio::MaxFilterCount = 8
staticconstexpr

フィルターの最大数

◆ Stream

constexpr struct s3d::Audio::FileStreaming s3d::Audio::Stream
static

The documentation for this class was generated from the following file: