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

マイク More...

#include <Microphone.hpp>

Public Types

enum  Permission { Permission::Allowed, Permission::Denied }
 

Public Member Functions

SIV3D_NODISCARD_CXX20 Microphone ()
 デフォルトコンストラクタ More...
 
SIV3D_NODISCARD_CXX20 Microphone (StartImmediately startImmediately)
 マイクによる録音を準備します。 More...
 
SIV3D_NODISCARD_CXX20 Microphone (const Duration &duration, StartImmediately startImmediately)
 マイクによる録音を準備します。 More...
 
SIV3D_NODISCARD_CXX20 Microphone (const Duration &duration, Loop loop=Loop::Yes, StartImmediately startImmediately=StartImmediately::No)
 
SIV3D_NODISCARD_CXX20 Microphone (const Optional< uint32 > &deviceIndex, const Optional< uint32 > &sampleRate=unspecified, const Duration &duration=DefaultBufferDuration, Loop loop=Loop::Yes, StartImmediately startImmediately=StartImmediately::No)
 
SIV3D_NODISCARD_CXX20 Microphone (const Optional< uint32 > &deviceIndex, const Optional< uint32 > &sampleRate, size_t bufferLength, Loop loop=Loop::Yes, StartImmediately startImmediately=StartImmediately::No)
 
 ~Microphone ()
 
Optional< PermissiongetPermission () const
 
bool open (StartImmediately startImmediately)
 
bool open (const Duration &duration, StartImmediately startImmediately)
 
bool open (const Duration &duration, Loop loop=Loop::Yes, StartImmediately startImmediately=StartImmediately::No)
 
bool open (const Optional< uint32 > &deviceIndex, const Optional< uint32 > &sampleRate=unspecified, const Duration &duration=SecondsF{ 5.0 }, Loop loop=Loop::Yes, StartImmediately startImmediately=StartImmediately::No)
 
bool open (const Optional< uint32 > &deviceIndex, const Optional< uint32 > &sampleRate, size_t bufferLength, Loop loop=Loop::Yes, StartImmediately startImmediately=StartImmediately::No)
 
void close ()
 
bool isOpen () const
 マイクが利用可能かを返します。 More...
 
 operator bool () const
 マイクが利用可能かを返します。 More...
 
bool start ()
 録音を開始します。 More...
 
void stop ()
 録音を終了します。 More...
 
bool isRecording () const
 マイクが録音中であるかを返します。 More...
 
uint32 microphoneIndex () const
 
uint32 getSampleRate () const
 録音時のサンプリングレートの設定を返します。 More...
 
size_t getBufferLength () const
 
bool isLoop () const
 
const WavegetBuffer () const
 録音した音声を格納しているバッファを返します。 More...
 
size_t posSample () const
 音声を格納するバッファの現在の書き込み位置(サンプル)を返します。 More...
 
double mean (const Duration &duration=SecondsF{ 0.02 }) const
 
double rootMeanSquare (const Duration &duration=SecondsF{ 0.02 }) const
 
double peak (const Duration &duration=SecondsF{ 0.02 }) const
 
void fft (FFTResult &result, FFTSampleLength sampleLength=FFTSampleLength::Default) const
 

Static Public Attributes

static constexpr Duration DefaultBufferDuration = SecondsF{ 5.0 }
 

Detailed Description

マイク

Member Enumeration Documentation

◆ Permission

Enumerator
Allowed 
Denied 

Constructor & Destructor Documentation

◆ Microphone() [1/6]

SIV3D_NODISCARD_CXX20 s3d::Microphone::Microphone ( )

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

◆ Microphone() [2/6]

SIV3D_NODISCARD_CXX20 s3d::Microphone::Microphone ( StartImmediately  startImmediately)
explicit

マイクによる録音を準備します。

Parameters
startImmediately録音を即座に開始するか
Remarks
デフォルトの音声入力デバイス、推奨サンプリングレート、5 秒間分のバッファを使用します。

◆ Microphone() [3/6]

SIV3D_NODISCARD_CXX20 s3d::Microphone::Microphone ( const Duration duration,
StartImmediately  startImmediately 
)
explicit

マイクによる録音を準備します。

Parameters
duration録音した音声を格納するバッファの長さ(秒)
startImmediately録音を即座に開始するか
Remarks
デフォルトの音声入力デバイス、推奨サンプリングレートを使用します。

◆ Microphone() [4/6]

SIV3D_NODISCARD_CXX20 s3d::Microphone::Microphone ( const Duration duration,
Loop  loop = Loop::Yes,
StartImmediately  startImmediately = StartImmediately::No 
)

◆ Microphone() [5/6]

SIV3D_NODISCARD_CXX20 s3d::Microphone::Microphone ( const Optional< uint32 > &  deviceIndex,
const Optional< uint32 > &  sampleRate = unspecified,
const Duration duration = DefaultBufferDuration,
Loop  loop = Loop::Yes,
StartImmediately  startImmediately = StartImmediately::No 
)
explicit

◆ Microphone() [6/6]

SIV3D_NODISCARD_CXX20 s3d::Microphone::Microphone ( const Optional< uint32 > &  deviceIndex,
const Optional< uint32 > &  sampleRate,
size_t  bufferLength,
Loop  loop = Loop::Yes,
StartImmediately  startImmediately = StartImmediately::No 
)

◆ ~Microphone()

s3d::Microphone::~Microphone ( )

Member Function Documentation

◆ close()

void s3d::Microphone::close ( )

◆ fft()

void s3d::Microphone::fft ( FFTResult result,
FFTSampleLength  sampleLength = FFTSampleLength::Default 
) const

◆ getBuffer()

const Wave& s3d::Microphone::getBuffer ( ) const

録音した音声を格納しているバッファを返します。

Returns
録音した音声を格納しているバッファ

◆ getBufferLength()

size_t s3d::Microphone::getBufferLength ( ) const

◆ getPermission()

Optional<Permission> s3d::Microphone::getPermission ( ) const

◆ getSampleRate()

uint32 s3d::Microphone::getSampleRate ( ) const

録音時のサンプリングレートの設定を返します。

Returns
録音時のサンプリングレートの設定

◆ isLoop()

bool s3d::Microphone::isLoop ( ) const

◆ isOpen()

bool s3d::Microphone::isOpen ( ) const

マイクが利用可能かを返します。

Returns
マイクが利用可能な場合 true, それ以外の場合は false

◆ isRecording()

bool s3d::Microphone::isRecording ( ) const

マイクが録音中であるかを返します。

Returns
録音中の場合 true, それ以外の場合は false

◆ mean()

double s3d::Microphone::mean ( const Duration duration = SecondsF{ 0.02 }) const

◆ microphoneIndex()

uint32 s3d::Microphone::microphoneIndex ( ) const

◆ open() [1/5]

bool s3d::Microphone::open ( const Duration duration,
Loop  loop = Loop::Yes,
StartImmediately  startImmediately = StartImmediately::No 
)

◆ open() [2/5]

bool s3d::Microphone::open ( const Duration duration,
StartImmediately  startImmediately 
)

◆ open() [3/5]

bool s3d::Microphone::open ( const Optional< uint32 > &  deviceIndex,
const Optional< uint32 > &  sampleRate,
size_t  bufferLength,
Loop  loop = Loop::Yes,
StartImmediately  startImmediately = StartImmediately::No 
)

◆ open() [4/5]

bool s3d::Microphone::open ( const Optional< uint32 > &  deviceIndex,
const Optional< uint32 > &  sampleRate = unspecified,
const Duration duration = SecondsF{ 5.0 },
Loop  loop = Loop::Yes,
StartImmediately  startImmediately = StartImmediately::No 
)

◆ open() [5/5]

bool s3d::Microphone::open ( StartImmediately  startImmediately)

◆ operator bool()

s3d::Microphone::operator bool ( ) const
explicit

マイクが利用可能かを返します。

Remarks
Microphone::isOpen() と同じです。
Returns
マイクが利用可能な場合 true, それ以外の場合は false

◆ peak()

double s3d::Microphone::peak ( const Duration duration = SecondsF{ 0.02 }) const

◆ posSample()

size_t s3d::Microphone::posSample ( ) const

音声を格納するバッファの現在の書き込み位置(サンプル)を返します。

Returns
音声を格納するバッファの現在の書き込み位置(サンプル)

◆ rootMeanSquare()

double s3d::Microphone::rootMeanSquare ( const Duration duration = SecondsF{ 0.02 }) const

◆ start()

bool s3d::Microphone::start ( )

録音を開始します。

Returns
録音の開始に成功した場合 true, それ以外の場合は false

◆ stop()

void s3d::Microphone::stop ( )

録音を終了します。

Member Data Documentation

◆ DefaultBufferDuration

constexpr Duration s3d::Microphone::DefaultBufferDuration = SecondsF{ 5.0 }
staticconstexpr

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