# StreamAudioPlayer **Repository Path**: andwp/stream-audio-player ## Basic Information - **Project Name**: StreamAudioPlayer - **Description**: C#基于winmm的封装实现的超级简单的音频数据流播放库。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2022-02-16 - **Last Updated**: 2024-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # StreamAudioPlayer ## 介绍 `C#实现的超级简单的音频数据流播放库,基于winmm的封装,内置自定义大小的内存缓存。可按照输入采样率播放 ` 支持框架 + .NetFramework 4.0 以上 支持操作系统 + WinXP + Win7 + Win8 + Win10 + Win11 ### 应用场景 1. 网络音频实时播放; 2. pcm原始音频播放。 (暂时不支持MP3等各种音频压缩算法) `如果帮助到你,稍微动动你的小手指,在右上角点个start吧!` ## 软件目录说明 1. Andwp.AudioPlayer 播放功能库 - AudioPlayer.cs 播放接口类,外部调用。 - WaveDeviceInfo.cs 音频播放信息数据体。 - WinmmInterop.cs 调用winmm的接口封装。 2. Test 测试程序 - Main.cs 测试入口,内涵库的使用DEMO。 ## 安装教程 1. 引用Andwp.AudioPlayer项目(推荐)。 2. 拷贝Andwp.AudioPlayer项目的代码文件。 ## 使用说明 1. 选择设备 ``` string error; var listDevice = AudioPlayer.GetDevices(out error); // 获取当前计算机的所有设备 ``` 2. 初始 ``` AudioPlayer player = new AudioPlayer(); const int maxAllowPacket = 1000; // 传入缓存包数。 player.MaxAllowUnhandleData = maxAllowPacket; bool initOk = player.Init(1, 9600, 8, (int)selectedId)); // 传入通道数,采样率和采样大小。初始成功返回true。 ``` 3. 播放 ``` player.Play(s, 0, s.Length); // 加入播放数据缓存。播放的数据可以是byte、short、float等类型转换的数组。 // 加入缓存失败会返回false。 ``` ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request