一个嵌入式音频项目总结

嵌入式ARM 2018-06-11 10:07 次阅读

客户的需求是这样的,做一个声卡混音程序,实现将音箱要播放的声音和话筒输入的声音合成为输入,主要是用于嵌入式音频播放产品,所以大家以后见了音效特别好的产品不要相信销售人员的忽悠。。。“我们的产品音效好是用了XXX高科技材料,觉得处于国际领先水平...”,他们口中所谓的“高科技”,其实都是在软件上做了文章而已。

其实要实现这样的一个功能其实并不难,但我当时其实也是第一次做这样的程序(国内这个东西确实很好有人做过),心里也没底,但是凭借我扎实的基础,再加上我在图书馆泡了一天之后,我很快就有了思路...主要有两种方法可以实现:

1. 可以使用DirectXsound接口做.将输出缓冲区音频叠加到输入缓冲区;

2.可以调用ASIO音频驱动,网上有很多教程.

这两个方案都是只能基于wince系统的,linux下我暂时没有找到一个很好的方案,但是最终我还是选择了第一个,因为毕竟图书馆关于direct的开发资料比较多,开发难度相对来说容易控制,但由于我不能公布全部代码,只能在这里梳理一下重要的几个知识点和程序中需要用到的API

其实我不怕大家嘲笑,在做这个项目之前我一直以为directx就只做3D处理的,但是在图书馆查了多媒体处理技术的相关书籍之后,才知道自己有多么无知。DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。显示部分担任图形处理的关键,分为Direct Draw(DDraw)和Direct 3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有 划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct 3D。声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能,我所接的这个项目就是利用了DirectSound来解决的。。

API调用方面的话主要掌握3个方面,1.对音频缓冲区的操作,2.对创建辅助缓冲区,3利用directx实现混音程序,这三方面的书籍,dirextx的技术书籍我相信应该都有,只要学会调用这三方面的API,做相关的音频项目自然会便觉得很方便,不是什么高科技,在这里我不想贴代码来忽悠大家,这东西又不是我自创的,花个几十元钱去亚马逊买本书大家都能学会,熟练以后,去游戏公司应聘的话,月薪7K应该不成问题。

我比较注重一些项目经验和设计思路,这样才能够助新手快速培养独立完成项目的思路,因为我不是职业程序员,从事的工作也是电气领域的工作,不会和大家抢工作,我接私活第一是为了接触各个领域方面的技术,拓展自己的专业视野,我大致了解一下开发流程即可,因为没有必要过于深入,因为国内所有领域说句老实话,核心技术都是国外的,除了一些逆向分析的黑客高手和一些科研工作者,一般人都很难了解,也没有这个时间,对于我这样一个业余的技术个体户来讲,我只要按时完成客户给我的项目,能保证产品就可以了,暂时不会研究的那么深入,不过等过个几年,等我的团队日益成熟了,也许会做自己的独立产品。

自己独立接项目的另一个好处就是可以积累一定的社会人脉,让社会来认可我的专业水平,我一直觉得做技术(不光是计算机,电气、机械等其他专业领域一样)和球星踢球很像,个人水平一旦被社会得到认可,身价自然水涨船高了,和比自己水平高一点的人一起做项目,技术能力自然很容易提高。

原文标题:嵌入式er日常!我的第一个嵌入式项目....

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式ARM】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

如何利用FPGA硬件实现固定倍率的图像缩放?

近年来,FPGA技术发展迅速,片内集成了PLL、硬件乘法器、存储器,具有了实现优秀算法的充足资源。许....

发表于 08-18 09:36 23次 阅读
如何利用FPGA硬件实现固定倍率的图像缩放?

在嵌入式系统中有哪些处理器技术和特点?

国际上公认的通用嵌入式处理器有三大类:MCU、DSP和MPU(Micro-Processor Uni....

发表于 08-18 09:28 28次 阅读
在嵌入式系统中有哪些处理器技术和特点?

在嵌入式系统中如何用CPLD技术实现DRAM控制器?

如果微处理器状态信号无效,这个状态则是一个T4状态,状态机B从B1转到B2.如果状态是一个T4状态,....

发表于 08-18 09:25 28次 阅读
在嵌入式系统中如何用CPLD技术实现DRAM控制器?

基于Linux的嵌入式实时操作系统研究应如何进行?

在嵌入式产品的开发中,有必要寻找一种廉价的嵌入式实时操作系统,以降低产品的开发成本和系统复杂度。由于....

发表于 08-18 09:13 28次 阅读
基于Linux的嵌入式实时操作系统研究应如何进行?

如何对嵌入式最小系统的软硬件架构进行改进?

嵌入式最小系统即是在尽可能减少上层应用的情况下,能够使系统运行的最小化模块配置。对于一个典型的嵌入式....

发表于 08-18 09:01 32次 阅读
如何对嵌入式最小系统的软硬件架构进行改进?

32位嵌入式处理器和8位处理器的开发方式有哪些不同?

对于一个32位的嵌入式系统则不同。在硬件设计开发的同时,需要有实时多任务操作系统环境,软件工程师可以....

发表于 08-18 08:47 31次 阅读
32位嵌入式处理器和8位处理器的开发方式有哪些不同?

Cortex-A53 FS6818的嵌入式Linux应用和驱动开发的详细资料免费下载

本书从嵌入式Linux 的基础知识、系统环境搭建到综合应用,共分三个层次深入浅出地为读者拨开萦绕于嵌....

发表于 08-17 17:24 21次 阅读
Cortex-A53 FS6818的嵌入式Linux应用和驱动开发的详细资料免费下载

基于嵌入式Linux内核的系统设备驱动程序开发设计

Linux是一个遵循POSIX标准的免费操作系统。具有BSD和SYSV的扩展特性。与其他操作系统相比....

发表于 08-17 15:12 35次 阅读
基于嵌入式Linux内核的系统设备驱动程序开发设计

基于Linux2.6内核的实时性增强方案设计

Linux以其功能强大、源代码开放、支持多种硬件平台、模块化设计方案以及丰富的开发工具支持等特点广泛....

发表于 08-17 15:01 27次 阅读
基于Linux2.6内核的实时性增强方案设计

有I2C通信功能的两相嵌入式计量包括BOM,PCB文件及光绘文件

描述 此设计是原始 TIDM-2PHASE-SUBMTR 的固件升级。此升级为原始固件增加了诸多功能和灵活性,包括:I2C 通...

发表于 08-17 07:22 287次 阅读
有I2C通信功能的两相嵌入式计量包括BOM,PCB文件及光绘文件

嵌入式系统开发发展方向和ARM Cortex-A9体系架构

[table] [tr][td]    ARM Cortex-A9 ,基于台积电的40nm-G制造工艺,已经开发出两款Cortex-A9微架构双核处理...

发表于 08-17 02:52 30次 阅读
嵌入式系统开发发展方向和ARM Cortex-A9体系架构

研究生三年的嵌入式项目资料分享

[table] [tr][td] 网盘独家下载地址: 2014嵌入式实战项目实物演示及网盘独家下载地址 本人专注学习嵌入式开...

发表于 08-17 01:47 16次 阅读
研究生三年的嵌入式项目资料分享

一名入门的嵌入式Linux工程师需要掌握什么

随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度、市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业...

发表于 08-16 15:50 26次 阅读
一名入门的嵌入式Linux工程师需要掌握什么

浅析液晶拼接屏技术的未来发展趋势

液晶拼接墙作为大屏幕显示设备广泛应用于视频监控领域,实现由多个液晶显示单元拼接显示一幅大画面的功能。

的头像 讯维官方公众号 发表于 08-16 15:43 146次 阅读
浅析液晶拼接屏技术的未来发展趋势

关于Linux嵌入式操作系统的优势特征详解

嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种....

发表于 08-16 15:17 180次 阅读
关于Linux嵌入式操作系统的优势特征详解

RFID与金属,RFID的隐私安全和制造成本

在生产阶段就被嵌入RFID标签的资产,因其已经具备或半具备的RFID功能,使它与其他同类型产品相比而....

发表于 08-15 11:13 37次 阅读
RFID与金属,RFID的隐私安全和制造成本

C/C++编程语言学习难点及语言

一般学C++前都要学C,所以通常叫它们C/C++。C/C++历经40余年,也是经久不衰的号称“永不过....

发表于 08-15 10:24 61次 阅读
C/C++编程语言学习难点及语言

青岛技术研究中心开发嵌入式技术方向

技术研发中心-嵌入式组以物联网、平行感知、边缘计算、通信网络、嵌入式系统、机器人为主要研究方向,提供....

发表于 08-15 09:31 75次 阅读
青岛技术研究中心开发嵌入式技术方向

基于水下无人机,Intel Braswell芯片组的3.5寸嵌入式工业主板

海洋覆盖了地球表面70%的面积,但人类对它的了解,仍然还在起步阶段。科技的发展带来的是人们生活水平的....

发表于 08-14 17:07 98次 阅读
基于水下无人机,Intel Braswell芯片组的3.5寸嵌入式工业主板

嵌入式开发学习路线和学习资料

一般的应用开发,例如桌面应用的开发,移动应用的开发,通常都是在一个IDE集成开发环境中完成。 开发者,熟悉了IDE的...

发表于 08-13 17:56 377次 阅读
嵌入式开发学习路线和学习资料

基于Linux操作系统内核的崩溃转储机制解析

随着嵌入式Linux系统的广泛应用,对系统的可靠性提出了更高的要求,尤其是涉及到生命财产等重要领域,....

发表于 08-13 17:00 72次 阅读
基于Linux操作系统内核的崩溃转储机制解析

分频器在音箱中的作用是什么 不用分频器可以做箱吗?

位于功率放大器之后,设置在音箱内,通过LC滤波网络,将功率放大器输出的功率音频信号分为低音,中音和高....

发表于 08-13 11:27 77次 阅读
分频器在音箱中的作用是什么 不用分频器可以做箱吗?

嵌入式AI应用,为消费者提供更多新型的AI应用程序

区别于“传统”一切都基于云的人工智能(AI),这些基于现场应用设备的神经网络计算,可以被称为嵌入式A....

发表于 08-13 10:33 92次 阅读
嵌入式AI应用,为消费者提供更多新型的AI应用程序

主流的几款国产嵌入式操作系统

SylixOS 是一个开源的跨平台的大型实时操作系统(RTOS),SylixOS 诞生于2006年,....

的头像 电子工程师时间 发表于 08-13 08:38 1058次 阅读
主流的几款国产嵌入式操作系统

常见的嵌入式C语言的3道面试题含答案,快来学习吧!

题一:简述strcpy sprintf与mencpy的区别思考过后,再到下方寻找答案 题二:如何避....

的头像 嵌入式ARM 发表于 08-12 11:02 332次 阅读
常见的嵌入式C语言的3道面试题含答案,快来学习吧!

嵌入式Linux模块编译步骤详细概述让你少走弯路

今天将直接了当的带你进入linux的模块编译,当然在介绍的过程当中,我也会添加一些必要的注释,以便初....

的头像 嵌入式ARM 发表于 08-12 10:56 306次 阅读
嵌入式Linux模块编译步骤详细概述让你少走弯路

嵌入式应用开发应用架构有什么作用?嵌入式程序设计的一些思路

如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大限度的复用....

的头像 嵌入式ARM 发表于 08-12 10:49 309次 阅读
嵌入式应用开发应用架构有什么作用?嵌入式程序设计的一些思路

如何设计一个基于FPGA的嵌入式监控系统?

为了实现自动图像报警和图像采集,本文设计了动体检测算法,这是因为绝大多数情况下我们只对监控区域中运动....

发表于 08-12 09:39 96次 阅读
如何设计一个基于FPGA的嵌入式监控系统?

以嵌入式处理器为核心的IP复用技术应用

嵌入式处理器是嵌入式系统的核心,有硬核和软核之分。其中,嵌入式处理器软核以其更大的使用灵活性,更低廉....

发表于 08-12 09:23 292次 阅读
以嵌入式处理器为核心的IP复用技术应用

如何设计一个基于嵌入式系统的智能交通灯控制系统?

电源是整个系统的动力源,对于整个系统运行过程处于至关重要的作用,系统中不同模块对供电需求也各不相同。....

发表于 08-12 09:15 115次 阅读
如何设计一个基于嵌入式系统的智能交通灯控制系统?

如何设计一个16位的嵌入式微控制器?

使用的FPGA器件是StratixⅡ型号为EP1S40F780C7。综合结果显示:A8096使用3 ....

发表于 08-12 09:11 100次 阅读
如何设计一个16位的嵌入式微控制器?

在嵌入式系统中如何利用CPLD技术来更加方便的使用DRAM?

DRAM控制器由80C186XL状态信号S2、S1和S0的解码来检测总线的开始、类型和结束。这些状态....

发表于 08-12 09:03 48次 阅读
在嵌入式系统中如何利用CPLD技术来更加方便的使用DRAM?

以C51单片机为核心的嵌入式系统实时控制设计

C8051F120芯片上本身自带了A/D转换器,但只有12位,不适合该系统的需求,故在片外另加一片A....

发表于 08-12 08:56 88次 阅读
以C51单片机为核心的嵌入式系统实时控制设计

如何将气象数据运用到传热仿真中?

在设计设备或工艺流程时,除了研究系统本身之外,很重要的是还要考虑周围环境的影响。借助历史气象数据对不....

的头像 COMSOL 发表于 08-11 11:46 617次 阅读
如何将气象数据运用到传热仿真中?

一种关于利用DSP嵌入式技术的赛车刹车控制系统的设计详解

本文在硬件电路设计上采用DSP 芯片和外围电路构成速度捕获电路,电机驱动控制器采用微控制芯片和外围....

发表于 08-11 10:46 82次 阅读
一种关于利用DSP嵌入式技术的赛车刹车控制系统的设计详解

一种基于嵌入式系统应用的机器人视觉系统设计详解

随着Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结....

发表于 08-11 10:35 337次 阅读
一种基于嵌入式系统应用的机器人视觉系统设计详解

选择什么开发板比较好,大家推荐下

我刚学完韦东山的linux 驱动,想买一款开发板,对比在学习,移植驱动,有没有性价比比较高,售后服务又好的板子,推荐下 ...

发表于 08-11 10:31 1157次 阅读
选择什么开发板比较好,大家推荐下

目前国内外物联网嵌入式系统“白名单”的主要技术路线?

各位大神:        有谁知道目前国内外物联网嵌入式系统“白名单”的主要技术路线,关键技术和解决方案。行...

发表于 08-10 23:00 389次 阅读
目前国内外物联网嵌入式系统“白名单”的主要技术路线?

如何学习利用I2C或SPI读取传感器数据?该从何下手?

各位大佬好, 本人机械行业,目前初入嵌入式,想通过I2C或SPI协议采集一些IMU传感器的数据,比如ADXL345、LSM6D...

发表于 08-10 22:08 339次 阅读
如何学习利用I2C或SPI读取传感器数据?该从何下手?

一种通过嵌入式互联网技术控制在线嵌入式设备的远程监控系统设计

随着Internet的广泛普及和通信技术的高速发展,大量基于TCP/IP的Internet应用可以被....

发表于 08-10 17:19 630次 阅读
一种通过嵌入式互联网技术控制在线嵌入式设备的远程监控系统设计

关于嵌入式Linux系统开发学习流程详解

C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知....

发表于 08-10 17:15 123次 阅读
关于嵌入式Linux系统开发学习流程详解

电子分频器与普通分频器的区别 主要用途介绍

分频器是将音频弱信号进行分频的设备,位于功率放大器前,分频后再用各自独立的功率放大器,把每一个音频频....

发表于 08-10 15:26 64次 阅读
电子分频器与普通分频器的区别 主要用途介绍

新手学习嵌入式十"不要"

本文系转载,原创VXpw 随着嵌入式逐渐走入我们的生活,越来越多的人加入了学习嵌入式的大军。但是,在学习嵌入式之前难免会有...

发表于 08-10 14:47 949次 阅读
新手学习嵌入式十"不要"

威盛电子发布嵌入式新模块,助力机器人的发展

21世纪以来,计算机市场从PC时代发展至移动时代,并逐渐向AI(人工智能)时代转变。智能机器人作为人....

发表于 08-10 08:58 54次 阅读
威盛电子发布嵌入式新模块,助力机器人的发展

一种基于多种MEMS传感器的嵌入式姿态测量系统设计详解

传统的姿态测量因为采用高精度陀螺仪和加速度计等姿态传感器,体积庞大并且价格昂贵。当前MEMS产品因其....

发表于 08-09 16:46 111次 阅读
一种基于多种MEMS传感器的嵌入式姿态测量系统设计详解

一种基于嵌入式Internet技术的通用RTU设计,为传统RTU低成本更新开辟一条途径

针对传统RTU通讯速率低、通讯规约不统一、系统不开放,分析了在IEC 60870-5-104通信规约....

发表于 08-09 16:38 381次 阅读
一种基于嵌入式Internet技术的通用RTU设计,为传统RTU低成本更新开辟一条途径

电子人不可不读十本书——《嵌入式系统 硬件与软件架构》

内容简介:   本书面向希望学习和开发嵌入式系统的软件和硬件设计人员,提供的材料内容十分丰富,并且行文深入浅出,...

发表于 08-09 14:53 298次 阅读
电子人不可不读十本书——《嵌入式系统 硬件与软件架构》

Xilinx通过拓展生态系统和平台,强化高度差异化和高度灵活的嵌入式视觉和工业物联网产品组合

赛灵思公司(Xilinx)今天宣布通过拓展生态系统和硬件平台进一步扩大了其面向嵌入式视觉和工业物联....

发表于 08-08 14:33 132次 阅读
Xilinx通过拓展生态系统和平台,强化高度差异化和高度灵活的嵌入式视觉和工业物联网产品组合

J-Link探针支持RISC-V、ARM和其它CPU平台

SEGGER销售与市场营销总监Harald Schober补充道:“我们很高兴能够与UltraSoC....

的头像 华兴万邦技术经济学 发表于 08-07 16:47 997次 阅读
J-Link探针支持RISC-V、ARM和其它CPU平台

嵌入式环境下的轻量级GUI系统解决方案设计详解

近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要求也越来越高....

发表于 08-07 15:18 167次 阅读
嵌入式环境下的轻量级GUI系统解决方案设计详解

基于嵌入式Linux系统的机车状态实时检测系统设计详解

状态监测与故障诊断技术是现代工业技术发展的产物,已发展到了以专家系统、神经网络和模糊分析等理论为基....

发表于 08-07 15:07 92次 阅读
基于嵌入式Linux系统的机车状态实时检测系统设计详解

Bose发布CSD新版本,扩展了ToneMatch音频引擎

新的CSD版本5.0.1可以从pro.bose.com下载。该版本有一系列新特性,包括工具及算法,方....

的头像 亚洲专业音响 发表于 08-07 09:29 641次 阅读
Bose发布CSD新版本,扩展了ToneMatch音频引擎

颠覆传统的创新,嵌入式的非接触式连接器

在“物联网”与“工业4.0”等应用浪潮涌动下,电子元器件的技术创新与市场规模也激流勇进。万物互联实现....

发表于 08-06 16:21 265次 阅读
颠覆传统的创新,嵌入式的非接触式连接器

UltraSoC为嵌入式调试和分析环境添加SEGGER的J-Link调试探针

UltraSoC日前宣布:公司已与SEGGER达成合作伙伴关系,以在UltraSoC集成化的系统级芯....

的头像 人间烟火123 发表于 08-06 14:04 759次 阅读
UltraSoC为嵌入式调试和分析环境添加SEGGER的J-Link调试探针

索尼回音壁HT-Z9F全景声黑科技 多种声场任意切换

综艺节目《幻乐之城》通过实况唱演的形式和沉浸式观演全景舞台,展现了音乐加表演的双重魅力,而其实想要在....

的头像 39度创意研究所 发表于 08-06 12:10 432次 阅读
索尼回音壁HT-Z9F全景声黑科技 多种声场任意切换

闪迪推出全新嵌入式闪存驱动器,供给中国的OEM,容量高达64GB

全新卓越的闪迪嵌入式闪存驱动器使智能手机能够实现1Gb每秒或更高的即时数据传输速度及RAW格式图像捕....

发表于 08-06 10:00 142次 阅读
闪迪推出全新嵌入式闪存驱动器,供给中国的OEM,容量高达64GB

基于嵌入式Linux的Qt Designer快速安装流程设计详解

RAD(快速应用程序开发)是一种高效的软件开发形式,可以让用户在极短的时间里创建一个图形化的用户界....

发表于 08-06 09:17 93次 阅读
基于嵌入式Linux的Qt Designer快速安装流程设计详解

基于嵌入式处理器的Virtex FPGA板级支持包设计

具有嵌入式处理器的平台FPGA提供很大的灵活性、集成度和高性能。目前,在单个可编程逻辑器件中开发极....

发表于 08-06 09:03 81次 阅读
基于嵌入式处理器的Virtex FPGA板级支持包设计

基于Matlab/RTW实现实时仿真与嵌入式系统开发设计

在日益激烈的竞争中,系统的开发周期显得尤为重要,但开发时间与系统安全性、可靠性又有一定冲突,如果仍....

发表于 08-06 08:43 78次 阅读
基于Matlab/RTW实现实时仿真与嵌入式系统开发设计

科学研究发现,音频空间感是由视觉体验调节,盲人用时间感知空间

在书籍和电影中,盲人通常用超敏感的听力帮助他们在现实世界中穿梭。但是,8月发表在i杂志上的一项研究表....

的头像 人工智能学家 发表于 08-05 11:34 544次 阅读
科学研究发现,音频空间感是由视觉体验调节,盲人用时间感知空间