Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |
Launch files
Messages
Services
Plugins
Recent questions tagged audio_base at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 1.0.0 |
License | Apache License, Version 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | ROS 2 packages for CyberDog |
Checkout URI | https://github.com/miroboticslab/cyberdog_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-10-15 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics ros ros2 cyberdog |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- jia
Authors
audio_base
audio_player
该模块用于播放多段或单段不定长PCM音频数据、wav格式音频文件,其底层实现为SDL2与SDL_mixer
包含文件:
主要接口部分如下:
namespace cyberdog_audio
{
#define DELAY_CHECK_TIME 1000
#define DEFAULT_PLAY_CHANNEL_NUM 4
#define DEFAULT_VOLUME MIX_MAX_VOLUME
#define AUDIO_FREQUENCY 16000
#define AUDIO_FORMAT MIX_DEFAULT_FORMAT
#define AUDIO_CHANNELS 1
#define AUDIO_CHUCKSIZE 2048
using callback = std::function<void (void)>;
class AudioPlayer
{
public:
explicit AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
static int GetFreeChannel();
static bool InitSuccess();
static bool OpenReference();
static void CloseReference();
static int GetReferenceData(Uint8 * buff, int need_size);
static size_t GetReferenceDataSize();
void SetFinishCallBack(callback finish_callback);
int SetVolume(int volume);
void SetVolumeGroup(int volume_gp);
int GetVolume();
void AddPlay(Uint8 * buff, int len);
void AddPlay(const char * file);
void StopPlay();
bool IsPlaying();
bool InitReady();
};
}
其中宏定义:
-
DELAY_CHECK_TIME
:播放线程每DELAY_CHECK_TIME
(ms)检查一次是否正在播放音频,是否需要退出 -
DEFAULT_PLAY_CHANNEL_NUM
:混音通道默认数量(通道数会根据根据需要动态增加数量) -
DEFAULT_VOLUME
:默认音量(0-128) -
AUDIO_FREQUENCY
、AUDIO_FORMAT
、AUDIO_CHANNELS
、AUDIO_CHUCKSIZE
:为SDL_mixer初始化参数(官方文档)
public函数:
构造函数: 初始化播放器对象
AudioPlayer(
int channel,
callback finish_callback = nullptr,
int volume_group = INDE_VOLUME_GROUP,
int volume = DEFAULT_VOLUME);
-
channel
:使用的混音通道 -
finish_callback
:播放队列完成后的回调函数 -
volume_group
:音量通道组,改变该组中单个通道音量时,将改变所有同组通道音量 -
volume
:该通道音量
获取空闲通道:返回空闲通道channel号
static int GetFreeChannel();
获取SDL初始化状态:返回SDL是否初始化成功
static bool InitSuccess();
打开音频播放反馈的参考通道并开始录制数据:返回是否成功打开
static bool OpenReference();
关闭音频播放反馈的参考通道并清除录制数据
```cpp
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_lint_auto | |
ament_lint_common | |
ALSA | |
xiaoai_sdk | |
sdl2_vendor |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
audio_assistant | |
audio_interaction | |
cyberdog_audio |