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

#include <AudioAsset.hpp>

Inherits s3d::Audio.

Public Member Functions

SIV3D_NODISCARD_CXX20 AudioAsset (AssetNameView name)
 
- Public Member Functions inherited from s3d::Audio
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 Member Functions

static bool Register (AssetNameView name, FilePathView path)
 
static bool Register (AssetNameView name, FilePathView path, const Loop loop)
 
static bool Register (AssetNameView name, FilePathView path, Arg::loopBegin_< uint64 > loopBegin)
 
static bool Register (AssetNameView name, FilePathView path, Arg::loopBegin_< uint64 > loopBegin, Arg::loopEnd_< uint64 > loopEnd)
 
static bool Register (AssetNameView name, FilePathView path, const Optional< AudioLoopTiming > &loop)
 
static bool Register (AssetNameView name, Audio::FileStreaming, FilePathView path)
 
static bool Register (AssetNameView name, Audio::FileStreaming, FilePathView path, Loop loop)
 
static bool Register (AssetNameView name, Audio::FileStreaming, FilePathView path, Arg::loopBegin_< uint64 > loopBegin)
 
static bool Register (AssetNameView name, GMInstrument instrument, uint8 key, const Duration &duration, double velocity=1.0, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 
static bool Register (AssetNameView name, GMInstrument instrument, uint8 key, const Duration &noteOn, const Duration &noteOff, double velocity=1.0, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 
static bool Register (AssetNameView name, std::unique_ptr< AudioAssetData > &&data)
 
static bool Register (const AssetNameAndTags &nameAndTag, FilePathView path)
 
static bool Register (const AssetNameAndTags &nameAndTag, FilePathView path, const Loop loop)
 
static bool Register (const AssetNameAndTags &nameAndTag, FilePathView path, Arg::loopBegin_< uint64 > loopBegin)
 
static bool Register (const AssetNameAndTags &nameAndTag, FilePathView path, Arg::loopBegin_< uint64 > loopBegin, Arg::loopEnd_< uint64 > loopEnd)
 
static bool Register (const AssetNameAndTags &nameAndTag, FilePathView path, const Optional< AudioLoopTiming > &loop)
 
static bool Register (const AssetNameAndTags &nameAndTag, Audio::FileStreaming, FilePathView path)
 
static bool Register (const AssetNameAndTags &nameAndTag, Audio::FileStreaming, FilePathView path, Loop loop)
 
static bool Register (const AssetNameAndTags &nameAndTag, Audio::FileStreaming, FilePathView path, Arg::loopBegin_< uint64 > loopBegin)
 
static bool Register (const AssetNameAndTags &nameAndTag, GMInstrument instrument, uint8 key, const Duration &duration, double velocity=1.0, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 
static bool Register (const AssetNameAndTags &nameAndTag, GMInstrument instrument, uint8 key, const Duration &noteOn, const Duration &noteOff, double velocity=1.0, Arg::sampleRate_< uint32 > sampleRate=Wave::DefaultSampleRate)
 
static bool IsRegistered (AssetNameView name)
 
static bool Load (AssetNameView name)
 
static void LoadAsync (AssetNameView name)
 
static void Wait (AssetNameView name)
 
static bool IsReady (AssetNameView name)
 
static void Release (AssetNameView name)
 
static void ReleaseAll ()
 
static void Unregister (AssetNameView name)
 
static void UnregisterAll ()
 
static HashTable< AssetName, AssetInfoEnumerate ()
 

Additional Inherited Members

- Public Types inherited from s3d::AssetHandle< Audio >
using AssetIDWrapperType = AssetIDWrapper< AssetHandle >
 アセット ID ラッパー型 More...
 
using IDType = typename AssetIDWrapperType::IDType
 アセット ID 型 More...
 
- Static Public Attributes inherited from s3d::Audio
static constexpr struct s3d::Audio::FileStreaming Stream
 
static constexpr size_t MaxBusCount = 4
 バスの最大数 More...
 
static constexpr size_t MaxFilterCount = 8
 フィルターの最大数 More...
 
- Protected Attributes inherited from s3d::AssetHandle< Audio >
std::shared_ptr< AssetIDWrapperTypem_handle
 

Constructor & Destructor Documentation

◆ AudioAsset()

SIV3D_NODISCARD_CXX20 s3d::AudioAsset::AudioAsset ( AssetNameView  name)
explicit

Member Function Documentation

◆ Enumerate()

static HashTable<AssetName, AssetInfo> s3d::AudioAsset::Enumerate ( )
static

◆ IsReady()

static bool s3d::AudioAsset::IsReady ( AssetNameView  name)
static

◆ IsRegistered()

static bool s3d::AudioAsset::IsRegistered ( AssetNameView  name)
static

◆ Load()

static bool s3d::AudioAsset::Load ( AssetNameView  name)
static

◆ LoadAsync()

static void s3d::AudioAsset::LoadAsync ( AssetNameView  name)
static

◆ Register() [1/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
Audio::FileStreaming  ,
FilePathView  path 
)
static

◆ Register() [2/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
Audio::FileStreaming  ,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin 
)
static

◆ Register() [3/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
Audio::FileStreaming  ,
FilePathView  path,
Loop  loop 
)
static

◆ Register() [4/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
FilePathView  path 
)
static

◆ Register() [5/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin 
)
static

◆ Register() [6/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin,
Arg::loopEnd_< uint64 loopEnd 
)
static

◆ Register() [7/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
FilePathView  path,
const Loop  loop 
)
static

◆ Register() [8/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
FilePathView  path,
const Optional< AudioLoopTiming > &  loop 
)
static

◆ Register() [9/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
GMInstrument  instrument,
uint8  key,
const Duration duration,
double  velocity = 1.0,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)
static

◆ Register() [10/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
GMInstrument  instrument,
uint8  key,
const Duration noteOn,
const Duration noteOff,
double  velocity = 1.0,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)
static

◆ Register() [11/21]

static bool s3d::AudioAsset::Register ( AssetNameView  name,
std::unique_ptr< AudioAssetData > &&  data 
)
static

◆ Register() [12/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
Audio::FileStreaming  ,
FilePathView  path 
)
static

◆ Register() [13/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
Audio::FileStreaming  ,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin 
)
static

◆ Register() [14/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
Audio::FileStreaming  ,
FilePathView  path,
Loop  loop 
)
static

◆ Register() [15/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
FilePathView  path 
)
static

◆ Register() [16/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin 
)
static

◆ Register() [17/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
FilePathView  path,
Arg::loopBegin_< uint64 loopBegin,
Arg::loopEnd_< uint64 loopEnd 
)
static

◆ Register() [18/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
FilePathView  path,
const Loop  loop 
)
static

◆ Register() [19/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
FilePathView  path,
const Optional< AudioLoopTiming > &  loop 
)
static

◆ Register() [20/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
GMInstrument  instrument,
uint8  key,
const Duration duration,
double  velocity = 1.0,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)
static

◆ Register() [21/21]

static bool s3d::AudioAsset::Register ( const AssetNameAndTags nameAndTag,
GMInstrument  instrument,
uint8  key,
const Duration noteOn,
const Duration noteOff,
double  velocity = 1.0,
Arg::sampleRate_< uint32 sampleRate = Wave::DefaultSampleRate 
)
static

◆ Release()

static void s3d::AudioAsset::Release ( AssetNameView  name)
static

◆ ReleaseAll()

static void s3d::AudioAsset::ReleaseAll ( )
static

◆ Unregister()

static void s3d::AudioAsset::Unregister ( AssetNameView  name)
static

◆ UnregisterAll()

static void s3d::AudioAsset::UnregisterAll ( )
static

◆ Wait()

static void s3d::AudioAsset::Wait ( AssetNameView  name)
static

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