Viam C++ SDK current
Loading...
Searching...
No Matches
audio_out_client.hpp
Go to the documentation of this file.
1
4#pragma once
5
6#include <viam/api/component/audioout/v1/audioout.grpc.pb.h>
7
9#include <viam/sdk/rpc/dial.hpp>
10
11namespace viam {
12namespace sdk {
13namespace impl {
14
18class AudioOutClient : public AudioOut {
19 public:
21
22 AudioOutClient(std::string name, const ViamChannel& channel);
23
24 const ViamChannel& channel() const {
25 return *channel_;
26 }
27
28 void play(std::vector<uint8_t> const& audio_data,
29 boost::optional<audio_info> info,
30 const ProtoStruct& extra) override;
31
32 audio_properties get_properties(const ProtoStruct& extra) override;
33
34 ProtoStruct do_command(const ProtoStruct& command) override;
35
36 std::vector<GeometryConfig> get_geometries(const ProtoStruct& extra) override;
37
40 using AudioOut::play;
41
42 private:
43 using StubType = viam::component::audioout::v1::AudioOutService::StubInterface;
44 std::unique_ptr<StubType> stub_;
45 const ViamChannel* channel_;
46};
47
48} // namespace impl
49} // namespace sdk
50} // namespace viam
Defines an AudioOut component.
An AudioOut is a device that can output audio.
Definition audio_out.hpp:26
void play(std::vector< uint8_t > const &audio_data, boost::optional< audio_info > info)
Play audio data.
Definition audio_out.hpp:34
std::vector< GeometryConfig > get_geometries()
Definition audio_out.hpp:65
audio_properties get_properties()
Returns properties of the audio out device (supported codecs, sample rate, number of channels)
Definition audio_out.hpp:49
virtual std::string name() const
Return the resource's name.
Definition dial.hpp:25
gRPC client implementation of an AudioOut component.
Definition audio_out_client.hpp:18
ProtoStruct do_command(const ProtoStruct &command) override
Send/receive arbitrary commands to the resource.
audio_properties get_properties(const ProtoStruct &extra) override
Returns properties of the audio out device (supported codecs, sample rate, number of channels)
std::vector< GeometryConfig > get_geometries(const ProtoStruct &extra) override
Returns GeometryConfigs associated with the calling audioout.
void play(std::vector< uint8_t > const &audio_data, boost::optional< audio_info > info, const ProtoStruct &extra) override
Play audio through the audioout component.
Properties of an audio component (input or output)
Definition audio.hpp:24