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 <grpcpp/channel.h>
7
8#include <viam/api/component/audioout/v1/audioout.grpc.pb.h>
9
11
12namespace viam {
13namespace sdk {
14namespace impl {
15
19class AudioOutClient : public AudioOut {
20 public:
22 AudioOutClient(std::string name, std::shared_ptr<grpc::Channel> channel);
23
24 void play(std::vector<uint8_t> const& audio_data,
25 boost::optional<audio_info> info,
26 const ProtoStruct& extra) override;
27 audio_properties get_properties(const ProtoStruct& extra) override;
28 ProtoStruct do_command(const ProtoStruct& command) override;
29 std::vector<GeometryConfig> get_geometries(const ProtoStruct& extra) override;
30
33 using AudioOut::play;
34
35 private:
36 using StubType = viam::component::audioout::v1::AudioOutService::StubInterface;
37 std::unique_ptr<StubType> stub_;
38 std::shared_ptr<grpc::Channel> channel_;
39};
40
41} // namespace impl
42} // namespace sdk
43} // 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.
gRPC client implementation of an AudioOut component.
Definition audio_out_client.hpp:19
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