Class that publishes messages to the sound_play node. More...
#include <sound_play.h>
Classes | |
class | Sound |
Public Member Functions | |
Sound | builtinSound (int id) |
Create a builtin Sound. | |
void | play (int sound) |
Play a buildin sound. | |
void | playWave (const std::string &s) |
Plays a WAV or OGG file. | |
void | playWaveFromPkg (const std::string &p, const std::string &s) |
Plays a WAV or OGG file from a package. | |
void | repeat (const std::string &s) |
Say a string repeatedly. | |
void | say (const std::string &s, const std::string &voice="voice_kal_diphone") |
Say a string. | |
void | setQuiet (bool state) |
Turns warning messages on or off. | |
SoundClient (ros::NodeHandle &nh, const std::string &topic) | |
Create a SoundClient that publishes on the given topic. | |
SoundClient () | |
Create a SoundClient with the default topic. | |
void | start (int sound) |
Play a buildin sound repeatedly. | |
void | startWave (const std::string &s) |
Plays a WAV or OGG file repeatedly. | |
void | startWaveFromPkg (const std::string &p, const std::string &s) |
Plays a WAV or OGG file repeatedly. | |
void | stop (int sound) |
Stop playing a built-in sound. | |
void | stopAll () |
Stop all currently playing sounds. | |
void | stopSaying (const std::string &s) |
Stop saying a string. | |
void | stopWave (const std::string &s) |
Stop playing a WAV or OGG file. | |
void | stopWaveFromPkg (const std::string &p, const std::string &s) |
Stop playing a WAV or OGG file. | |
Sound | voiceSound (const std::string &s) |
Create a voice Sound. | |
Sound | waveSound (const std::string &s) |
Create a wave Sound. | |
Sound | waveSoundFromPkg (const std::string &p, const std::string &s) |
Create a wave Sound from a package. | |
Private Member Functions | |
void | init (ros::NodeHandle nh, const std::string &topic) |
void | sendMsg (int snd, int cmd, const std::string &s="", const std::string &arg2="") |
Private Attributes | |
boost::mutex | mutex_ |
ros::NodeHandle | nh_ |
ros::Publisher | pub_ |
bool | quiet_ |
Class that publishes messages to the sound_play node.
This class is a helper class for communicating with the sound_play node via the sound_play::SoundRequest message. It has two ways of being used:
Definition at line 62 of file sound_play.h.
sound_play::SoundClient::SoundClient | ( | ros::NodeHandle & | nh, |
const std::string & | topic | ||
) | [inline] |
Create a SoundClient that publishes on the given topic.
Creates a SoundClient that publishes to the given topic relative to the given NodeHandle.
nh | Node handle to use when creating the topic. |
topic | Topic to publish to. |
Definition at line 128 of file sound_play.h.
sound_play::SoundClient::SoundClient | ( | ) | [inline] |
Create a SoundClient with the default topic.
Creates a SoundClient that publishes to "robotsound".
Definition at line 138 of file sound_play.h.
Sound sound_play::SoundClient::builtinSound | ( | int | id | ) | [inline] |
Create a builtin Sound.
Creates a Sound corresponding to indicated builtin wave.
id | Identifier of the sound to play. |
Definition at line 193 of file sound_play.h.
void sound_play::SoundClient::init | ( | ros::NodeHandle | nh, |
const std::string & | topic | ||
) | [inline, private] |
Definition at line 383 of file sound_play.h.
void sound_play::SoundClient::play | ( | int | sound | ) | [inline] |
Play a buildin sound.
Starts playing one of the built-in sounds. built-ing sounds are documented in SoundRequest::msg. Playback can be stopped by stopAll.
sound | Identifier of the sound to play. |
Definition at line 328 of file sound_play.h.
void sound_play::SoundClient::playWave | ( | const std::string & | s | ) | [inline] |
Plays a WAV or OGG file.
Plays a WAV or OGG file once. The playback can be stopped by stopWave or stopAll.
s | Filename of the WAV or OGG file. Must be an absolute path valid on the computer on which the sound_play node is running |
Definition at line 245 of file sound_play.h.
void sound_play::SoundClient::playWaveFromPkg | ( | const std::string & | p, |
const std::string & | s | ||
) | [inline] |
Plays a WAV or OGG file from a package.
Plays a WAV or OGG file once. The playback can be stopped by stopWaveFromPkg or stopAll.
p | Package name containing the sound file. |
s | Filename of the WAV or OGG file. Must be an path relative to the package valid on the computer on which the sound_play node is running |
Definition at line 286 of file sound_play.h.
void sound_play::SoundClient::repeat | ( | const std::string & | s | ) | [inline] |
Say a string repeatedly.
The string is said repeatedly until stopSaying or stopAll is used.
s | String to say repeatedly |
Definition at line 218 of file sound_play.h.
void sound_play::SoundClient::say | ( | const std::string & | s, |
const std::string & | voice = "voice_kal_diphone" |
||
) | [inline] |
Say a string.
Send a string to be said by the sound_node. The vocalization can be stopped using stopSaying or stopAll.
s | String to say |
Definition at line 206 of file sound_play.h.
void sound_play::SoundClient::sendMsg | ( | int | snd, |
int | cmd, | ||
const std::string & | s = "" , |
||
const std::string & | arg2 = "" |
||
) | [inline, private] |
Definition at line 390 of file sound_play.h.
void sound_play::SoundClient::setQuiet | ( | bool | state | ) | [inline] |
Turns warning messages on or off.
If a message is sent when no node is subscribed to the topic, a warning message is printed. This method can be used to enable or disable warnings.
state | True to turn off messages, false to turn them on. |
Definition at line 377 of file sound_play.h.
void sound_play::SoundClient::start | ( | int | sound | ) | [inline] |
Play a buildin sound repeatedly.
Starts playing one of the built-in sounds repeatedly until stop or stopAll is used. Built-in sounds are documented in SoundRequest::msg.
sound | Identifier of the sound to play. |
Definition at line 341 of file sound_play.h.
void sound_play::SoundClient::startWave | ( | const std::string & | s | ) | [inline] |
Plays a WAV or OGG file repeatedly.
Plays a WAV or OGG file repeatedly until stopWave or stopAll is used.
s | Filename of the WAV or OGG file. Must be an absolute path valid on the computer on which the sound_play node is running. |
Definition at line 258 of file sound_play.h.
void sound_play::SoundClient::startWaveFromPkg | ( | const std::string & | p, |
const std::string & | s | ||
) | [inline] |
Plays a WAV or OGG file repeatedly.
Plays a WAV or OGG file repeatedly until stopWaveFromPkg or stopAll is used.
p | Package name containing the sound file. |
s | Filename of the WAV or OGG file. Must be an path relative to the package valid on the computer on which the sound_play node is running |
Definition at line 300 of file sound_play.h.
void sound_play::SoundClient::stop | ( | int | sound | ) | [inline] |
Stop playing a built-in sound.
Stops playing a built-in sound started with play or start.
sound | Same sound that was used to start playback. |
Definition at line 353 of file sound_play.h.
void sound_play::SoundClient::stopAll | ( | ) | [inline] |
Stop all currently playing sounds.
This method stops all speech, wave file, and built-in sound playback.
Definition at line 363 of file sound_play.h.
void sound_play::SoundClient::stopSaying | ( | const std::string & | s | ) | [inline] |
Stop saying a string.
Stops saying a string that was previously started by say or repeat. The argument indicates which string to stop saying.
s | Same string as in the say or repeat command |
Definition at line 231 of file sound_play.h.
void sound_play::SoundClient::stopWave | ( | const std::string & | s | ) | [inline] |
Stop playing a WAV or OGG file.
Stops playing a file that was previously started by playWave or startWave.
s | Same string as in the playWave or startWave command |
Definition at line 271 of file sound_play.h.
void sound_play::SoundClient::stopWaveFromPkg | ( | const std::string & | p, |
const std::string & | s | ||
) | [inline] |
Stop playing a WAV or OGG file.
Stops playing a file that was previously started by playWaveFromPkg or startWaveFromPkg.
p | Package name containing the sound file. |
s | Filename of the WAV or OGG file. Must be an path relative to the package valid on the computer on which the sound_play node is running |
Definition at line 315 of file sound_play.h.
Sound sound_play::SoundClient::voiceSound | ( | const std::string & | s | ) | [inline] |
Create a voice Sound.
Creates a Sound corresponding to saying the indicated text.
s | Text to say |
Definition at line 151 of file sound_play.h.
Sound sound_play::SoundClient::waveSound | ( | const std::string & | s | ) | [inline] |
Create a wave Sound.
Creates a Sound corresponding to indicated file.
s | File to play. Should be an absolute path that exists on the machine running the sound_play node. |
Definition at line 165 of file sound_play.h.
Sound sound_play::SoundClient::waveSoundFromPkg | ( | const std::string & | p, |
const std::string & | s | ||
) | [inline] |
Create a wave Sound from a package.
Creates a Sound corresponding to indicated file.
p | Package containing the sound file. |
s | Filename of the WAV or OGG file. Must be an path relative to the package valid on the computer on which the sound_play node is running |
Definition at line 180 of file sound_play.h.
boost::mutex sound_play::SoundClient::mutex_ [private] |
Definition at line 411 of file sound_play.h.
ros::NodeHandle sound_play::SoundClient::nh_ [private] |
Definition at line 409 of file sound_play.h.
ros::Publisher sound_play::SoundClient::pub_ [private] |
Definition at line 410 of file sound_play.h.
bool sound_play::SoundClient::quiet_ [private] |
Definition at line 408 of file sound_play.h.