我们在配置OpenAL的时候到底做了什么

2023-12-20 19:32
文章标签 配置 到底 openal

本文主要是介绍我们在配置OpenAL的时候到底做了什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、结论在先


  1. SDK安装 == 仅复制文件到安装指定文件夹下

  2. oalinst.exe == 将 32 位和 64 位的两个 DLL 分别拷贝至对应的系统文件夹

    OpenAL32.dllwrap_oal.dll

二、我为什么要这样做 —— 不想反复的安装SDK


最近的项目中需要对之前开发的基于 OpenAL 的音频处理库进行封装,在打包调试的过程中发现了一个问题,就是按照我之前一篇博客配置的流程,中间第二步安装 oalinst.exe,如果这一步不进行,那么编译不会报错,但是并没有声音。如果我不去处理这个问题,会造成以下结果:

在每一台新机器上需要使用我的音频处理模块时都需要安装 SDK。

这个就很不方便,因为我的模块可能会在大程序里,但是还总得想着带着这个安装包,如果以后我不负责这个模块,那么没有人知道为什么模块没错误却没有声音。


三、我是怎么解决的


所以为了解决这个问题,我进行了如下工作,其实也很简单:

首先在安装SDK的情况下:
打开 C:\Windows\System32 和 SysWOW64 文件夹

  1. 不安装 oalinst.exe ,测试程序是否好用。 (NO) 记录两个文件夹下的文件数 N1

  2. 安装 oalinst.exe ,测试程序是否好用。 (YES) 记录两个文件夹下的文件数 N2

  3. 卸载 oalinst.exe ,测试程序是否好用 (NO),如果不好用是否跟1的状态一样。 (YES)

  4. 发现 N1 和 N2 的差,初步找到了问题所在。

  5. 将两个文件夹中多出的文件拷贝出来(两个DLL),卸载 oalinst.exe,将这两个 DLL 放在我的程序目录
    下,在一台完全没有配置 OpenAL 的机器上运行,测试是否好用。(YES)


四、问题解决

找到了问题所在,也就是 SDK 安装这一步仅复制了以下 5 个文件夹到安装目录下。

docs
include
libs
redist
samples

而关键的是 oalinst.exe 这一步,不仅把 OpenAL32.dll 复制到对应的系统目录下,还多复制了一个 wrap_oal.dll 那么把这俩文件拷出来放在我的模块中,以后不安装 OpenAL 的机器也能顺利调用我的模块啦。文章可能写的比较啰嗦,欢迎有问题的同学来交流。

这篇关于我们在配置OpenAL的时候到底做了什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/517227

相关文章

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

MySQL 安装配置超完整教程

《MySQL安装配置超完整教程》MySQL是一款广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典MySQLAB公司开发,目前属于Oracle公司旗下产品,:本文主要介绍MySQL安装配置... 目录一、mysql 简介二、下载 MySQL三、安装 MySQL四、配置环境变量五、配置 MySQL5.1

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强