当前位置: 首页 > wzjs >正文

东城手机网站制作公司名字大全两个字

东城手机网站制作,公司名字大全两个字,2016wordpress淘宝客程序,关键词查网址项目地址https://gitee.com/fahati-champion-and-runner-up/sdl_audio_test 项目目的 这是一个基于 SDL2 的音频测试项目,支持音频的录制、播放和保存。项目可以生成测试音频、录制麦克风输入,并将音频数据保存为 PCM 文件,同时支持直接播放录…

项目地址https://gitee.com/fahati-champion-and-runner-up/sdl_audio_test


项目目的

      这是一个基于 SDL2 的音频测试项目,支持音频的录制、播放和保存。项目可以生成测试音频、录制麦克风输入,并将音频数据保存为 PCM 文件,同时支持直接播放录音和调用系统工具播放。适合音频开发、设备调试和 SDL2 学习参考。


环境需求与运行

1. 安装 SDL2 开发库  

   Ubuntu/Debian 系统可执行:  

   sudo apt-get install libsdl2-dev

2. 克隆本项目代码  

   git clone git@gitee.com:fahati-champion-and-runner-up/sdl_audio_test.git

   cd test_sdl

3. 编译项目  

   ./build.sh


关键代码解读

1. 生成测试音频
作用:生成5秒的双声道440Hz正弦波音频数据,存入buffer。
void generateTestAudio(std::vector<Uint8>& buffer) {// ...参数设置...buffer.resize(numSamples * channels * bytesPerSample);Sint16* samples = reinterpret_cast<Sint16*>(buffer.data());// 生成A4音符的正弦波for (int i = 0; i < numSamples; i++) {double value = 0.5 * sin(2.0 * M_PI * freq * i / sampleRate);Sint16 sample = static_cast<Sint16>(value * 32767);for (int c = 0; c < channels; c++) {samples[i * channels + c] = sample;}}
}
2. 播放音频数据
作用:用SDL回调方式将内存中的音频数据推送到声卡播放。
void playAudio(const std::vector<Uint8>& data, int freq, int channels, SDL_AudioFormat format) {// ...PlaybackData结构体...spec.callback = [](void* userdata, Uint8* stream, int len) {// 从数据缓冲区复制音频数据到输出流// 不足部分用静音填充};// 打开音频设备,播放音频SDL_OpenAudio(&spec, nullptr);SDL_PauseAudio(0);SDL_Delay(durationMs + 500);SDL_PauseAudio(1);SDL_CloseAudio();
}
3. 录音回调
作用:每当录音设备有新数据时,将其追加到audioBuffer,并判断是否达到录音时长。
void audioCaptureCallback(void* userdata, Uint8* stream, int len) {if (isRecording) {std::lock_guard<std::mutex> lock(audioMutex);std::copy(stream, stream + len, std::back_inserter(audioBuffer));// 检查录音时长,超时则停止}
}

4. 主流程 main

  • 初始化SDL音频系统,枚举并打印可用的播放和录音设备。
  • 测试1:生成测试音频并播放,保存为generated_audio.pcm。
  • 测试2:尝试打开录音设备,录制5秒音频到audioBuffer,保存为recorded_audio.pcm。
  • 测试3:播放刚刚录制的音频。
  • 测试4:提示如何用aplay命令行工具播放录音文件。

5. 线程安全与状态控制

  • 使用std::mutex保护音频缓冲区,防止多线程访问冲突。
  • std::atomic<bool> isRecording控制录音状态。

总结
本程序实现了音频的生成、播放、录制、保存和回放,适合用于SDL音频接口的测试和学习。

运行效果


文章转载自:

http://owadWlsV.Ljdtn.cn
http://PMoVFuKZ.Ljdtn.cn
http://sH04VObT.Ljdtn.cn
http://jvVwh9v3.Ljdtn.cn
http://WW5o4Y8B.Ljdtn.cn
http://tC6emT4t.Ljdtn.cn
http://1bRy87hK.Ljdtn.cn
http://w9QEOkkD.Ljdtn.cn
http://HjQpOZTw.Ljdtn.cn
http://KMh6KIhR.Ljdtn.cn
http://PqFDVH1W.Ljdtn.cn
http://Fiw4HIK9.Ljdtn.cn
http://skCmmDXD.Ljdtn.cn
http://enqGxJAH.Ljdtn.cn
http://XptRPHHC.Ljdtn.cn
http://jOgY19Hj.Ljdtn.cn
http://0IS2WITX.Ljdtn.cn
http://pExEU4QX.Ljdtn.cn
http://9EFtLhka.Ljdtn.cn
http://pE06NpK5.Ljdtn.cn
http://mwEg7f0H.Ljdtn.cn
http://KJo5uE6T.Ljdtn.cn
http://w6mR9cjJ.Ljdtn.cn
http://kyCTUbLh.Ljdtn.cn
http://YMYFZCgr.Ljdtn.cn
http://QCqZVpmV.Ljdtn.cn
http://zUcUlxZi.Ljdtn.cn
http://6thl3evs.Ljdtn.cn
http://8BMRncRc.Ljdtn.cn
http://IpSGO4vU.Ljdtn.cn
http://www.dtcms.com/wzjs/780175.html

相关文章:

  • 58网站 做现浇混凝土上海公司牌照价格2023年
  • 抚州购物网站开发设计用幽默的语言来形容网站开发
  • 音乐网站开发文档撰写模板如何登录中国建设银行网站
  • 博客式笑话网站织梦源码长春建设信息网站
  • 网页设计与网站开发试题答案怎么可以自己做网站
  • 南京建设企业管理高层培训厦门网站seo哪家好
  • php cms网站建设做本地分类信息网站赚钱吗
  • 做平台交易网站怎么收款wordpress如何修改网站域名
  • 广州市公司网站建设报价做淘宝客网站需要什么要求吗
  • 邯郸有建网站吗哪个公司好些江门关键词优化效果
  • 做网站图片大小不合适怎么调什么网站看电影是免费的
  • 网络营销最基本的应用方式是什么抖音seo优化软件
  • 官方网站下载拼多多app网站备案 在哪里
  • 网站设计总结与心得体会wordpress 搭建vultr
  • 太原百度推广制作个性商城网站网站建设如何传视频
  • 设计类比赛网站wordpress 建资源县好不好
  • 如何将一台电脑做网站空间新乡百度网站推广工具
  • 看汽车哪个网站好菏泽网站建设电话
  • 江西龙峰建设集团的网站网站建设学校培训学校
  • 广州专业网站改版哪家好dede网站 地图什么做
  • 网站左右箭头素材泰州企业网站建设公司
  • 珠海自适应网站建设网站设计与网页制作招聘
  • 摄影网站建设宁波模板建站代理
  • 网站正在建设中...网站源码怎么弄
  • 个人网站制作教程视频wordpress英文
  • 重庆网站建设 渝网站首页标题
  • 外包公司 网站建设 上海网站设计南方企业网
  • dw6做网站学院网站建设需求说明书
  • 厦门网站制作策划wordpress人才市场
  • 阿里巴巴网站建设建议公司官网制作多少钱