![]() |
VOOZH | about |
dotnet add package Eyu.Audio --version 1.0.11
NuGet\Install-Package Eyu.Audio -Version 1.0.11
<PackageReference Include="Eyu.Audio" Version="1.0.11" />
<PackageVersion Include="Eyu.Audio" Version="1.0.11" />Directory.Packages.props
<PackageReference Include="Eyu.Audio" />Project file
paket add Eyu.Audio --version 1.0.11
#r "nuget: Eyu.Audio, 1.0.11"
#:package Eyu.Audio@1.0.11
#addin nuget:?package=Eyu.Audio&version=1.0.11Install as a Cake Addin
#tool nuget:?package=Eyu.Audio&version=1.0.11Install as a Cake Tool
Eyu.Audio 是一个跨平台的音频处理工具包,提供音频录制、播放、格式转换、网络流传输等功能。该库支持多种音频接口和协议,包括 ALSA、SDL、AES67 和 PTP 时间同步。
通过 NuGet 包管理器安装:
Install-Package Eyu.Audio
或使用 .NET CLI:
dotnet add package Eyu.Audio
本项目依赖以下 NuGet 包:
using Eyu.Audio.Render;
var audioOut = new SDLOut();
// 初始化并播放音频
using Eyu.Audio.Recorder;
var recorder = new SDLCapture();
recorder.StartRecording();
// 处理录制数据
using Eyu.Audio.AES67;
var channelManager = new Aes67ChannelManager();
var channel = channelManager.CreateMulticastcastChannel("MyChannel");
// 配置并发送音频流
using Eyu.Audio.PTP;
var ptpClock = new PTPClock();
ptpClock.Initialize();
ptpClock.Start();
// 实现高精度时间同步
Aes67Channel: AES67 通道类,负责音频流的发送和接收Aes67ChannelManager: AES67 通道管理器,管理多个通道实例RTP: RTP 数据包构建和转换SDP: 会话描述协议实现ALSAApi: ALSA 音频接口封装AlsaDeviceEnumerator: ALSA 设备枚举器AlsaCapture: ALSA 录制实现PTPClock: PTP 主从时钟实现PTPClient: PTP 客户端PTPMessage: PTP 消息解析PTPTimestamp: PTP 时间戳处理Provider: 音频数据提供者,包括格式转换、音量控制等Reader: 音频文件读取器,支持多种格式Recorder: 音频录制器,支持多种输入源Render: 音频播放器,支持多种输出设备Utils: 各种音频处理工具函数在 Linux 上使用 PulseLoopbackCapture(系统播放环回采集)需要系统已安装 PulseAudio 或 PipeWire 相关工具,否则无法采集。
StartRecording() 会失败并触发 RecordingStopped,提示"无法启动 parecord"。| 发行版 | 安装命令 | 说明 |
|---|---|---|
| Ubuntu / Debian | sudo apt install pulseaudio-utils |
传统 PulseAudio |
| Ubuntu / Debian (PipeWire) | sudo apt install pipewire-pulse |
使用 PipeWire 时,多数桌面版已预装 |
| Fedora / RHEL | sudo dnf install pipewire-pulseaudio 或 pulseaudio-utils |
新版本多用 PipeWire |
| Arch Linux | sudo pacman -S pipewire-pulse 或 pulseaudio |
二选一即可 |
| openSUSE | sudo zypper install pipewire-pulseaudio 或 pulseaudio-utils |
同上 |
pulseaudio-utils)。仅在使用 GetDefaultMonitorSourceNameFromPactl() 或需要解析"默认 monitor"设备名时才需要。终端执行:
parecord --help
若有帮助输出,说明环境可用;若提示"未找到命令",请按上表安装对应包。
MIT License
本项目正在积极开发中,特别是 PTP 时间同步功能仍在完善中(参见 PTP_TODO.md)。
欢迎提交 Issue 和 Pull Request 来改进此项目。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.0.12-beta3 | 84 | 6/10/2026 | |
| 1.0.12-beta2 | 92 | 6/9/2026 | |
| 1.0.12-beta1 | 105 | 6/4/2026 | |
| 1.0.11 | 107 | 5/18/2026 | |
| 1.0.10 | 118 | 4/13/2026 | |
| 1.0.9 | 146 | 3/16/2026 | 1.0.9 is deprecated because it is no longer maintained. |
| 1.0.8 | 140 | 3/2/2026 | 1.0.8 is deprecated because it is no longer maintained. |
| 1.0.7 | 159 | 2/7/2026 | 1.0.7 is deprecated because it is no longer maintained. |
| 1.0.6 | 145 | 1/19/2026 | 1.0.6 is deprecated because it is no longer maintained. |
| 1.0.5 | 289 | 8/28/2025 | 1.0.5 is deprecated because it is no longer maintained. |
| 1.0.4 | 205 | 8/22/2025 | 1.0.4 is deprecated because it is no longer maintained. |
| 1.0.3 | 196 | 8/1/2025 | 1.0.3 is deprecated because it is no longer maintained. |
| 1.0.3-beta | 211 | 7/28/2025 | 1.0.3-beta is deprecated because it is no longer maintained. |
| 1.0.2 | 262 | 2/18/2025 | 1.0.2 is deprecated because it is no longer maintained. |
| 1.0.1 | 207 | 2/17/2025 | 1.0.1 is deprecated because it is no longer maintained. |
| 1.0.0 | 300 | 4/7/2024 | 1.0.0 is deprecated because it is no longer maintained. |