Skip to content

Instantly share code, notes, and snippets.

@sthairno
Last active June 5, 2025 14:59
Show Gist options
  • Save sthairno/3c873998b8263ddd15b63f77eaf96449 to your computer and use it in GitHub Desktop.
Save sthairno/3c873998b8263ddd15b63f77eaf96449 to your computer and use it in GitHub Desktop.
moxygen+ChatGPTドキュメント生成テスト
  • moxygen.md
    • moxygenのコード解析結果
  • prompt.md
    • プロンプト
  • refined-docs.md
    • ChatGPTで生成したドキュメント

class s3d::Audio

class s3d::Audio
  : public s3d::AssetHandle< Audio >

オーディオ

Summary

Members Descriptions
public SIV3D_NODISCARD_CXX20 Audio() デフォルトコンストラクタ
public SIV3D_NODISCARD_CXX20 explicit Audio(Wave && wave) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(Wave&& wave,constLoop loop) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(Wave && wave,Arg::loopBegin_< uint64 > loopBegin) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(Wave && wave,Arg::loopBegin_< uint64 > loopBegin,Arg::loopEnd_< uint64 > loopEnd) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(Wave && wave,Arg::loopBegin_< Duration > loopBegin) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(Wave && wave,Arg::loopBegin_< Duration > loopBegin,Arg::loopEnd_< Duration > loopEnd) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(Wave&& wave,constOptional](s3d::Optional.md#classs3d_1_1Optional)< [AudioLoopTiming > & loop) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 explicit Audio(const Wave & wave) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(const Wave& wave,constLoop loop) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(const Wave & wave,Arg::loopBegin_< uint64 > loopBegin) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(const Wave & wave,Arg::loopBegin_< uint64 > loopBegin,Arg::loopEnd_< uint64 > loopEnd) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(const Wave & wave,Arg::loopBegin_< Duration > loopBegin) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(const Wave & wave,Arg::loopBegin_< Duration > loopBegin,Arg::loopEnd_< Duration > loopEnd) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(const Wave& wave,constOptional](s3d::Optional.md#classs3d_1_1Optional)< [AudioLoopTiming > & loop) Wave からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 explicit Audio(FilePathView path) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FilePathViewpath,constLoop loop) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FilePathView path,Arg::loopBegin_< uint64 > loopBegin) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FilePathView path,Arg::loopBegin_< uint64 > loopBegin,Arg::loopEnd_< uint64 > loopEnd) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FilePathView path,Arg::loopBegin_< Duration > loopBegin) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FilePathView path,Arg::loopBegin_< Duration > loopBegin,Arg::loopEnd_< Duration > loopEnd) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FilePathViewpath,constOptional](s3d::Optional.md#classs3d_1_1Optional)< [AudioLoopTiming > & loop) オーディオファイルをロードしてオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FileStreaming,FilePathView path) オーディオファイルからストリーミング形式でロードするオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FileStreaming,FilePathView path,Loop loop) オーディオファイルからストリーミング形式でロードするオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(FileStreaming,FilePathView path,Arg::loopBegin_< uint64 > loopBegin) オーディオファイルからストリーミング形式でロードするオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(GMInstrument instrument,uint8 key,const Duration & duration,double velocity,Arg::sampleRate_< uint32 > sampleRate) 楽器の音のオーディオを作成します。
public SIV3D_NODISCARD_CXX20 Audio(GMInstrument instrument,uint8 key,const Duration & noteOn,const Duration & noteOff,double velocity,Arg::sampleRate_< uint32 > sampleRate) 楽器の音のオーディオを作成します。
public SIV3D_NODISCARD_CXX20 explicit Audio(IReader && reader,AudioFormat format) IReader からオーディオを作成します。
public SIV3D_NODISCARD_CXX20 explicit Audio(const std::shared_ptr< IAudioStream > & pAudioStream,Arg::sampleRate_< uint32 > sampleRate)
public virtual ~Audio() デストラクタ
public bool isStreaming() const ストリーミングオーディオであるかを返します。
public uint32 sampleRate() const オーディオのサンプリングレートを返します。
public size_t samples() const オーディオの長さ(サンプル)を返します。
public double lengthSec() const オーディオの長さ(秒)を返します。
public int64 samplesPlayed() const ループを含め再生したサンプル数の累計を返します。
public bool isActive() const オーディオがアクティブであるかを返します。
public bool isPlaying() const オーディオが再生中であるかを返します。
public bool isPaused() const オーディオが一時停止中であるかを返します。
public bool isLoop() const 新しく再生したときにループが有効になるかを返します。
public AudioLoopTiming getLoopTiming() const ループ再生する場合のループ範囲を返します。
public void setLoop(bool loop) const 新しく再生するときのループの有無を設定します。
public void setLoopPoint(uint64 loopBegin) const 新しくループ再生するときのループ開始位置(サンプル)を設定します。
public void setLoopPoint(const Duration & loopBegin) const 新しくループ再生するときのループ開始位置(秒)を設定します。
public void play(MixBus busIndex) const オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。
public void play(const Duration & fadeTime,MixBus busIndex) const オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。
public void play(MixBus busIndex,const Duration & fadeTime) const オーディオを指定したバスで再生するか、一時停止中の場合は再生を再開します。
public void pause() const 再生中のオーディオを一時停止します。
public void pause(const Duration & fadeTime) const 指定した時間をかけて音量をフェードアウトさせたのち一時停止します。
public void stop() const オーディオを即座に停止し、非アクティブにします。
public void stop(const Duration & fadeTime) const 指定した時間をかけて音量をフェードアウトさせたのち停止します。
public void playOneShot(double volume,double pan,double speed,MixBus) const オーディオを重複可能にして一度だけ再生します。
public void playOneShot(MixBus busIndex,double volume,double pan,double speed) const オーディオを重複可能にして一度だけ再生します。
public void pauseAllShots() const [playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) で再生中のすべてのオーディオを一時停止します
public void pauseAllShots(const Duration & fadeTime) const [playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) で再生中のすべてのオーディオを、指定した時間をかけて音量をフェードアウトさせたのち一時停止します
public void resumeAllShots() const [playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) 後に一時停止されたオーディオを再開します
public void resumeAllShots(const Duration & fadeTime) const [playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) 後に一時停止されたすべてのオーディオを、指定した時間をかけて音量をフェードインさせながら再開します
public void stopAllShots() const [playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) で再生中のすべてのオーディオをすべて停止します
public void stopAllShots(const Duration & fadeTime) const [playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) で再生中のすべてのオーディオを、指定した時間をかけて音量をフェードアウトさせたのち停止します
public int64 posSample() const 再生位置(サンプル)を返します。
public double posSec() const 再生位置(秒)を返します。
public void seekSamples(size_t posSample) const 再生位置を指定した位置(サンプル)に設定します。
public void seekTime(double posSec) const 再生位置を指定した位置(秒)に設定します。
public void seekTime(const Duration & pos) const 再生位置を指定した位置に設定します。
public size_t loopCount() const ループ再生された回数を返します。
public double getVolume() const 音量の設定 [0.0, 1.0] を返します。
public const Audio&setVolume(double volume) const 音量 [0.0, 1.0] を設定します。
public const Audio&fadeVolume(double volume,const Duration & fadeTime) const 指定した時間をかけて目標の音量に変更します。
public double getPan() const パンの設定 [-1.0, 1.0] を返します。
public const Audio&setPan(double pan) const パン [-1.0, 1.0] を設定します。
public const Audio&fadePan(double pan,const Duration & fadeTime) const 指定した時間をかけて目標のパンに変更します。
public double getSpeed() const スピードの設定を返します。
public const Audio&setSpeed(double speed) const スピード(再生速度の倍率)を設定します。
public const Audio&fadeSpeed(double speed,const Duration & fadeTime) const 指定した時間をかけて目標のスピード(再生速度の倍率)に変更します。
public const Audio&setSpeedBySemitone(int32 semitone) const 半音単位で音階が変わるようスピード(再生速度の倍率)を設定します。
public const Audio&fadeSpeedBySemitone(int32 semitone,const Duration & fadeTime) const 定した時間をかけて、半音単位で音階が変わるようスピード(再生速度の倍率)を設定します。
public const float * getSamples(size_t channel) const 音声波形のサンプルデータにアクセスします。
public void swap(Audio & other) noexcept オーディオを入れ替えます。

Members

public SIV3D_NODISCARD_CXX20 Audio()

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

public SIV3D_NODISCARD_CXX20 explicit Audio(Wave && wave)

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

Parameters

  • wave Wave

public SIV3D_NODISCARD_CXX20 Audio(Wave&& wave,constLoop loop)

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

Parameters

  • wave Wave

  • loop ループする場合は [Loop::Yes](Yes.md#structs3d_1_1YesNo_1ade01d4e9a094894297574c0d7661f0b3), それ以外の場合は [Loop::No](No.md#structs3d_1_1YesNo_1a4765d87d0e6a385197d3295b83d193b3)

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

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

Parameters

  • wave Wave

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

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

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

Parameters

  • wave Wave

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

  • loopEnd ループの終端位置(サンプル)

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

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

Parameters

  • wave Wave

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

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

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

Parameters

  • wave Wave

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

  • loopEnd ループの終端位置(秒)

public SIV3D_NODISCARD_CXX20 Audio(Wave&& wave,constOptional](s3d::Optional.md#classs3d_1_1Optional)< [AudioLoopTiming > & loop)

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

Parameters

  • wave Wave

  • loop ループ情報

public SIV3D_NODISCARD_CXX20 explicit Audio(const Wave & wave)

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

Parameters

  • wave Wave

public SIV3D_NODISCARD_CXX20 Audio(const Wave& wave,constLoop loop)

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

Parameters

  • wave Wave

  • loop ループする場合は [Loop::Yes](Yes.md#structs3d_1_1YesNo_1ade01d4e9a094894297574c0d7661f0b3), それ以外の場合は [Loop::No](No.md#structs3d_1_1YesNo_1a4765d87d0e6a385197d3295b83d193b3)

public SIV3D_NODISCARD_CXX20 Audio(const Wave & wave,Arg::loopBegin_< uint64 > loopBegin)

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

Parameters

  • wave Wave

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

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

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

Parameters

  • wave Wave

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

  • loopEnd

public SIV3D_NODISCARD_CXX20 Audio(const Wave & wave,Arg::loopBegin_< Duration > loopBegin)

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

Parameters

  • wave Wave

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

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

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

Parameters

  • wave Wave

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

  • loopEnd ループの終端位置(秒)

public SIV3D_NODISCARD_CXX20 Audio(const Wave& wave,constOptional](s3d::Optional.md#classs3d_1_1Optional)< [AudioLoopTiming > & loop)

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

Parameters

  • wave Wave

  • loop ループ情報

public SIV3D_NODISCARD_CXX20 explicit Audio(FilePathView path)

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

Parameters

  • path ファイルパス

public SIV3D_NODISCARD_CXX20 Audio(FilePathViewpath,constLoop loop)

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

Parameters

  • path ファイルパス

  • loop ループする場合は [Loop::Yes](Yes.md#structs3d_1_1YesNo_1ade01d4e9a094894297574c0d7661f0b3), それ以外の場合は [Loop::No](No.md#structs3d_1_1YesNo_1a4765d87d0e6a385197d3295b83d193b3)

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

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

Parameters

  • path

  • loopBegin

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

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

Parameters

  • path

  • loopBegin

  • loopEnd

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

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

Parameters

  • path

  • loopBegin

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

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

Parameters

  • path

  • loopBegin

  • loopEnd

public SIV3D_NODISCARD_CXX20 Audio(FilePathViewpath,constOptional](s3d::Optional.md#classs3d_1_1Optional)< [AudioLoopTiming > & loop)

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

Parameters

  • path

  • loop

public SIV3D_NODISCARD_CXX20 Audio(FileStreaming,FilePathView path)

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

Parameters

  • <br>

  • path

ストリーミング再生は WAVE, OggVorbis, FLAC, MP3 のみサポート。

対応しない形式の場合、ストリーミング再生にはなりません。

public SIV3D_NODISCARD_CXX20 Audio(FileStreaming,FilePathView path,Loop loop)

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

Parameters

  • <br>

  • path

  • loop

ストリーミング再生は WAVE, OggVorbis, FLAC, MP3 のみサポート。

対応しない形式の場合、ストリーミング再生にはなりません。

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

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

Parameters

  • <br>

  • path

  • loopBegin

ストリーミング再生は WAVE, OggVorbis, FLAC, MP3 のみサポート。

対応しない形式の場合、ストリーミング再生にはなりません。

public SIV3D_NODISCARD_CXX20 Audio(GMInstrument instrument,uint8 key,const Duration & duration,double velocity,Arg::sampleRate_< uint32 > sampleRate)

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

Parameters

  • instrument 楽器

  • key 音階

  • duration ノートオンの時間

  • velocity ベロシティ

  • sampleRate サンプルレート (Hz)

public SIV3D_NODISCARD_CXX20 Audio(GMInstrument instrument,uint8 key,const Duration & noteOn,const Duration & noteOff,double velocity,Arg::sampleRate_< uint32 > sampleRate)

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

Parameters

  • instrument 楽器

  • key 音階

  • noteOn ノートオンの時間

  • noteOff ノートオフの時間

  • velocity ベロシティ

  • sampleRate サンプルレート (Hz)

public SIV3D_NODISCARD_CXX20 explicit Audio(IReader && reader,AudioFormat format)

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

Parameters

  • reader

  • format

public SIV3D_NODISCARD_CXX20 explicit Audio(const std::shared_ptr< IAudioStream > & pAudioStream,Arg::sampleRate_< uint32 > sampleRate)

public virtual ~Audio()

デストラクタ

public bool isStreaming() const

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

Returns

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

public uint32 sampleRate() const

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

Returns

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

public size_t samples() const

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

Returns

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

public double lengthSec() const

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

Returns

オーディオの長さ(秒)

public int64 samplesPlayed() const

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

Returns

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

public bool isActive() const

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

再生して、stop していないオーディオはアクティブです。

Returns

オーディオがアクティブな場合 true, それ以外の場合は false

public bool isPlaying() const

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

Returns

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

public bool isPaused() const

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

Returns

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

public bool isLoop() const

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

Returns

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

public AudioLoopTiming getLoopTiming() const

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

Returns

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

public void setLoop(bool loop) const

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

Parameters

  • loop ループの有無

public void setLoopPoint(uint64 loopBegin) const

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

Parameters

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

public void setLoopPoint(const Duration & loopBegin) const

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

Parameters

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

public void play(MixBus busIndex) const

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

Parameters

  • busIndex バスのインデックス

オーディオが一時停止中の場合 busIndex を無視して再生を再開します。

すでに再生中の場合は何もしません。

public void play(const Duration & fadeTime,MixBus busIndex) const

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

Parameters

  • fadeTime フェードイン時間

  • busIndex バスのインデックス

すでに再生中の場合は何もしません。

public void play(MixBus busIndex,const Duration & fadeTime) const

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

Parameters

  • busIndex バスのインデックス

  • fadeTime フェードイン時間

すでに再生中の場合は何もしません。

public void pause() const

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

public void pause(const Duration & fadeTime) const

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

Parameters

  • fadeTime フェードアウト時間

public void stop() const

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

public void stop(const Duration & fadeTime) const

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

Parameters

  • fadeTime フェードアウト時間

public void playOneShot(double volume,double pan,double speed,MixBus) const

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

Parameters

  • volume 音量

  • pan パン

  • speed 再生スピード

public void playOneShot(MixBus busIndex,double volume,double pan,double speed) const

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

Parameters

  • busIndex バスのインデックス

  • volume 音量

  • pan パン

  • speed 再生スピード

public void pauseAllShots() const

[playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) で再生中のすべてのオーディオを一時停止します

Parameters

  • fadeTime

public void pauseAllShots(const Duration & fadeTime) const

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

Parameters

  • fadeTime フェードアウト時間

public void resumeAllShots() const

[playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) 後に一時停止されたオーディオを再開します

public void resumeAllShots(const Duration & fadeTime) const

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

Parameters

  • fadeTime フェードイン時間

public void stopAllShots() const

[playOneShot()](playOneShot.md#classs3d_1_1Audio_1a8d807a549032007b71601767b66a5029) で再生中のすべてのオーディオをすべて停止します

public void stopAllShots(const Duration & fadeTime) const

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

Parameters

  • fadeTime フェードアウト時間

public int64 posSample() const

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

Returns

再生位置(サンプル)

public double posSec() const

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

Returns

再生位置(秒)

public void seekSamples(size_t posSample) const

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

Parameters

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

public void seekTime(double posSec) const

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

Parameters

  • posSec 再生位置(秒)

public void seekTime(const Duration & pos) const

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

Parameters

  • pos 再生位置

public size_t loopCount() const

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

Returns

ループ再生された回数

public double getVolume() const

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

Returns

音量の設定 [0.0, 1.0]

public const Audio&setVolume(double volume) const

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

Parameters

  • volume 音量 [0.0, 1.0]

Returns

*this

public const Audio&fadeVolume(double volume,const Duration & fadeTime) const

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

Parameters

  • volume 目標の音量 [0.0, 1.0]

  • fadeTime フェード時間

Returns

*this

public double getPan() const

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

Returns

パンの設定 [-1.0, 1.0]

public const Audio&setPan(double pan) const

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

Parameters

  • pan パン [-1.0, 1.0]. -1.0 が左、0.0 が中央、1.0 が右

Returns

*this

public const Audio&fadePan(double pan,const Duration & fadeTime) const

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

Parameters

  • pan パン [-1.0, 1.0]. -1.0 が左、0.0 が中央、1.0 が右

  • fadeTime フェード時間

Returns

*this

public double getSpeed() const

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

Returns

スピードの設定

public const Audio&setSpeed(double speed) const

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

Parameters

  • speed スピード(再生速度の倍率)

スピードが上下すると音の高さも上下します。

Returns

*this

public const Audio&fadeSpeed(double speed,const Duration & fadeTime) const

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

Parameters

  • speed スピード(再生速度の倍率)

  • fadeTime フェード時間

Returns

*this

public const Audio&setSpeedBySemitone(int32 semitone) const

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

Parameters

  • semitone 目標の半音単位

setSpeed(std::exp2(semitone / 12.0)) と同じです。

Returns

*this

public const Audio&fadeSpeedBySemitone(int32 semitone,const Duration & fadeTime) const

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

Parameters

  • semitone 目標の半音単位

  • fadeTime フェード時間

fadeSpeed(std::exp2(semitone / 12.0), fadeTime) と同じです。

Returns

*this

public const float * getSamples(size_t channel) const

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

Parameters

  • channel 左チャンネルの場合 0, 右チャンネルの場合 1

ストリーミング再生の場合は利用できません。

Returns

指定したチャンネルの音声波形データの先頭ポインタ。ストリーミング再生の場合は nullptr

public void swap(Audio & other) noexcept

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

Parameters

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

【資料】を参考にMarkdownのクラスリファレンスを作成してください。 フォーマットは以下のとおりです。

【フォーマット】

<クラス名>

<関数名>

<説明>

  • <引数>: <説明>

戻り値

<説明>

【例】

Scene

SetBackground(ColorF color)

シーンの背景色を設定します 色のアルファ成分は無視されます

  • color: 色

戻り値

<説明>

【ルール】

  • 関数のオーバーロードはできるだけまとめてください。
  • 資料には説明がない場合があります。その時は想像で書いてください。

【資料】

(ここに生成したマークダウンを書く)

Audio

Audio()

デフォルトの空のオーディオを生成します。

Audio(Wave wave, ...)

Wave からオーディオを作成します。ループの設定や位置指定が可能です。

  • wave: オーディオデータ
  • loop: 再生時にループさせるか(省略可)
  • loopBegin: ループの開始位置(サンプル数または時間)
  • loopEnd: ループの終了位置(サンプル数または時間)
  • loop: AudioLoopTiming を渡して詳細なループ設定も可能

Audio(FilePathView path, ...)

ファイルパスからオーディオをロードします。拡張子によって自動判別されます。

  • path: ファイルパス
  • loop: 再生時にループさせるか(省略可)
  • loopBegin: ループの開始位置(サンプル数または時間)
  • loopEnd: ループの終了位置(サンプル数または時間)

Audio(FileStreaming, FilePathView path, ...)

ストリーミング形式でファイルからオーディオを作成します。WAV/Ogg/FLAC/MP3 対応。

  • path: ファイルパス
  • loop: 再生時にループさせるか(省略可)
  • loopBegin: ループの開始位置(サンプル数)

Audio(GMInstrument instrument, uint8 key, Duration duration, double velocity, sampleRate)

指定した楽器・音階・長さ・音量でオーディオを生成します。

  • instrument: 使用するMIDI楽器
  • key: 音階
  • duration: ノートオンの長さ
  • velocity: ベロシティ(音の強さ)
  • sampleRate: サンプルレート

play(MixBus busIndex, Duration fadeTime)

指定したミックスバスでオーディオを再生または再開します。

  • busIndex: 出力先バス
  • fadeTime: フェードインの長さ(省略可)

pause(Duration fadeTime)

オーディオを一時停止します。フェードアウトにも対応。

  • fadeTime: フェードアウトの長さ(省略可)

stop(Duration fadeTime)

オーディオを停止します。フェードアウトにも対応。

  • fadeTime: フェードアウトの長さ(省略可)

playOneShot(MixBus, double volume, double pan, double speed)

オーディオを一度だけ重ねて再生します。

  • volume: 音量
  • pan: パン設定(-1.0〜1.0)
  • speed: 再生スピード

getVolume() / setVolume(double volume)

音量を取得・設定します。

  • volume: 設定する音量(0.0〜1.0)

getPan() / setPan(double pan)

パン(左右の定位)を取得・設定します。

  • pan: 左(-1.0)、中央(0.0)、右(1.0)

getSpeed() / setSpeed(double speed)

再生スピードを取得・設定します。

  • speed: 再生速度倍率(1.0が等倍)

isPlaying() / isPaused() / isActive() / isStreaming() / isLoop()

現在の再生状態や設定を取得します。

seekSamples(size_t posSample) / seekTime(double posSec)

再生位置をサンプル単位または秒単位で移動します。

  • posSample: サンプル位置
  • posSec: 秒数位置

戻り値

各種 get 系関数は現在の設定値を返します。 set 系関数は Audio オブジェクト自身を返します(メソッドチェーン可能)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment