#include <oalplus/device.hpp>
        
namespace tag { struct Playback { }; struct Capture { }; } // namespace tag class DevCommonOps { public: DevCommonOps(DevCommonOps&&) = default; static Range<StrCRef> Extensions(void);}; template <typename DeviceTag> class DeviceOps;
          DeviceOps<tag::Playback> implements audio playback
          device-specific operations.
        
![]()  | 
Note | 
|---|---|
Do not use this class directly, use Device instead.  | 
template <> class DeviceOps<tag::Playback> : public DevCommonOps { public: StrCRef Specifier(void) const;static Range<StrCRef> Specifiers(void);
};
              Returns the device specifier string. See   | 
|
              Returns a range of specifier strings for available audio playback devices.
              See   | 
          DeviceOps<tag::Capture> implements audio capture
          device-specific operations.
        
![]()  | 
Note | 
|---|---|
Do not use this class directly, use CaptureDevice instead.  | 
template <> class DeviceOps<tag::Capture> : public DevCommonOps { public: StrCRef Specifier(void) const;static Range<StrCRef> Specifiers(void);
void Start(void);
void Stop(void);
ALCsizei Samples(void) const;
void Samples(ALCvoid* buffer, ALCsizei samples) const;
};
              Returns the device specifier string. See   | 
|
              Returns a range of specifier strings for available audio capture devices.
              See   | 
|
              Starts audio capture on   | 
|
              Stops audio capture on   | 
|
              Gets the number of samples captured on   | 
|
              Gets the samples captured on   | 
class Device : public DeviceOps<tag::Playback> { public: Device(void);Device(StrCRef dev_spec);
};
              Constructs an object referencing the default audio playback device.
              See   | 
|
              Constructs an object referencing the specified audio device. See   | 
class CaptureDevice : public DeviceOps<tag::Capture> { public: CaptureDevice( ALCuint frequency, DataFormat format, ALCsizei bufsize );CaptureDevice( StrCRef dev_spec, ALCuint frequency, DataFormat format, ALCsizei bufsize );
};