ASIO
+ -

ASIO hostsample工程分析

2022-01-29 108 0
您好,该文仅对登录用户可见,请登录访问!

0 篇笔记 写笔记

ASIO 简介
ASIO是Audio Stream I/O的简称。ASIO主要用于对希望在个人电脑音频设备相对于系统的音频设备实现高效音频处理、高数据吞吐量,音频硬件端的同步、低延迟和可扩展性等方面的性能改善。ASIO比较灵活,音频接口不需要绑定到任何固定数量的输入和输出通道(当然,此数量受计算机系统本身的处理......
ASIO 状态机
主机应用程序加载设备的ASIO驱动程序,其时序状态机如下图:LOADED(加载驱动程序):应用程序加载ASIO驱动程序。Initialized(初始化):驱动程序接收应用程序控制查询,不过设备不必要在此时创建。Prepared(准备好):收发音频数据的缓冲区已经被分配,并且设备准备工作。Runn......
ASIO 函数功能介绍
主机应用查询设备驱动ASIO API为主机应用程序和驱动程序提供多个查询功能。驱动程序初始化后,应用程序将查询以下全部或部分功能:ASIOGetChannels()查询可用音频通道的数量ASIOGetBufferSize()获取支持的音频缓冲区大小ASIOCanSampleRate()询问驱动程......
ASIO 应用层函数分类大全
初始化/终止ASIOError ASIOInit(ASIODriverInfo *info);ASIOError ASIOExit(void);开始、停止ASIOError ASIOStart(void);ASIOError ASIOStop(void);查询方法和抽样率ASIOError ......
ASIO 应用层C++类声明
class AsioDriver {public:AsioDriver(); ~AsioDriver();ASIOBool init(void *);void getDriverName(char *name);long getDriverVersion();void getErrorM......
Windows下注册ASIO
在带有WOW6432 ASIO的Windows 64位系统上,32位和64位主机应用程序都可以使用ASIO。要求ASIO驱动程序的COM部分以32位和64位二进制形式提供32位主机应用程序将查询32位Windows注册表部分(Wow6432)。64位主机应用程序将查询普通Windows注册表。A......
ASIO 应用层工程组成
ASIO工程目录如下:asio:工程文件目录。asio.slncommon: asiosample.dll和hostsample.exe工程使用的公共文件 driver: asiosample文件目录host: hostsample文件目录ASIO应用层由asiosample工程和hostsa......
ASIO asiosample.dll注册及注册表信息变化
在Windows下注册ASIO一节中,是需要对COM进入注册的。故我们使用Regsvr32命令注册。如:K:usbzhasioasiosdk_2.3.3_2019-06-14driverasiosampleasiosampleDebug>REGSVR32 asiosample.......
ASIO 示例代码调试准备
ASIO提供的示例代码在进行调试前,需要做以下几个步骤:第一,就是按上节的要求将编译好的asiosample.dll通过命令行进行注册,这里使用的命令是REGSVR32 asiosample.dll当然,这个注册分为32位和DLL和64位的DLL,所以会有差别。本人在现有的机器使用的是32位编程......
ASIO hostsample工程分析
hostsample总共分为4个文件,分别为:asiolist.h/asiolist.cpp : 基类,主要功能是枚举系统中已经安装的ASIO的COMM类asiodriver.h/asiodriver.cpp 继承于asiolist,实现对指定ASIO驱动类的安装,卸载和当前信息获取asio.......
ASIO 驱动加载loadAsioDriver
loadAsioDriver用于加载指定的ASIO驱动程序,由main函数调用。int main(int argc, char* argv[]){ // load the driver, this will setup all the necessary internal data st......
ASIO 初始化函数ASIOInit
ASIOInit();初始化应用程序使用的驱动程序。可选择获取硬件或加载其他驱动程序组件ASIOError ASIOInit(ASIODriverInfo *info);其调用关系统如下:int main(int argc, char* argv[]){ // load the d......
ASIO 获取音频参数init_asio_static_data函数
要打开音频设备,总得先获取参数吧。比如UAC设备,在打开MIC时,系统会通过特定类请求设置采样率,这样固件会源源不断地通过此采样率获取音频数据,然后通过USB要同步传输将数据发送给主机。在ASIO中,获取ASIO设备的参数有几个函数,详情可见:ASIO 函数功能介绍 。ASIO的测试用例是通过in......
ASIO 创建数据缓冲区create_asio_buffers及通道依赖获取
在获取了基本的ASIO通道参数后,是需要创建数据缓冲区的,数据缓冲区由ASIO驱动创建,并由DriverInfo的成员bufferInfos导出,这样可以实现数据无拷贝操作,实现低延迟。注意,这里是输入与输出缓冲区同时创建。当然,另一部分是实现回调函数的引入,这样当ASIO驱动需要反馈某些信......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!