DirectSound示例的配置

简介:       最近开始研究音视频处理,买了本书《VC++音频/视频处理技术及工程实践》,那本书完全是照搬Direct X的帮助文档,而且还抄袭了网友“智慧的鱼“发表的博文《DirectSound开发指南》(名字可能有出入),而且还是东拼西揍,看得人云里雾里,很不爽让我伤透了心!      于是我开始研究Direct X帮助文档,还好英语过得去,都看的懂,上面有很多具有实际参考价值的示例,

      最近开始研究音视频处理,买了本书《VC++音频/视频处理技术及工程实践》,那本书完全是照搬Direct X的帮助文档,而且还抄袭了网友“智慧的鱼“发表的博文《DirectSound开发指南》(名字可能有出入),而且还是东拼西揍,看得人云里雾里,很不爽让我伤透了心!

      于是我开始研究Direct X帮助文档,还好英语过得去,都看的懂,上面有很多具有实际参考价值的示例,于是开始研究。

用VC6.0打开,编译,却怎么都不通过,提示”Cannot open include file: 'dxerr9.h': No such file or directory“

       很明显,没有找到该文件的路径,我搜索了一下,在X:/Program Files/DirectX/Include路径下(X代表Direct X安装盘符),

于是在Tool-->Options-->Directories-->Include files下添加X:/Program Files/DirectX/Include files ,如上图,编译,结果出现如下错误:

 

Compiling...

playsound.cpp

../../common/include/DSUtil.h(50) : error C2146: syntax error : missing ';' before identifier 'm_pDS'

../../common/include/DSUtil.h(50) : error C2501: 'LPDIRECTSOUND8' : missing storage-class or type specifiers

../../common/include/DSUtil.h(50) : error C2501: 'm_pDS' : missing storage-class or type specifiers

../../common/include/DSUtil.h(57) : error C2146: syntax error : missing ';' before identifier 'GetDirectSound'

../../common/include/DSUtil.h(57) : error C2433: 'LPDIRECTSOUND8' : 'inline' not permitted on data declarations

../../common/include/DSUtil.h(57) : error C2501: 'LPDIRECTSOUND8' : missing storage-class or type specifiers

.................................

 

E:/Program Files/DirectX/Samples/C++/common/src/dsutil.cpp(438) : error C2039: 'guid3DAlgorithm' : is not a member of '_DSBUFFERDESC'

        E:/Program Files/Microsoft Visual Studio/VC98/INCLUDE/dsound.h(96) : see declaration of '_DSBUFFERDESC'

E:/Program Files/DirectX/Samples/C++/common/src/dsutil.cpp(441) : error C2227: left of '->CreateSoundBuffer' must point to class/struct/union

Error executing cl.exe.

 

playsound.exe - 32 error(s), 2 warning(s)

继续研究发现有个路径没有包含进去X:/PROGRAM FILES/DIRECTX/SAMPLES/C++/COMMON/INCLUDE,于是继续添加,编译,还是出错:内容同上。

 

 

 

后来在网上查找,发现要将插入的路径条目提到最上面去,提上去后,发现编译通过,OK!

补充:后来发现不需要X:/PROGRAM FILES/DIRECTX/SAMPLES/C++/COMMON/INCLUDE

如图:

但是链接出错,错误如下:

 

Compiling...

playsound.cpp

dsutil.cpp

Linking...

LINK : fatal error LNK1104: cannot open file "dxerr9.lib"

Error executing link.exe.

 

playsound.exe - 1 error(s), 0 warning(s)

 

看来应该是没有包含Lib库的路径,再次研究,发现要添加X:/PROGRAM FILES/DIRECTX/LIB
到Tool-->Options-->Directories-->Include files下添加X:/Program Files/DirectX/Librarys files下,好,添加,结果连接出错:
Compiling resources...
Compiling...
playsound.cpp
dsutil.cpp
dxutil.cpp
Linking...
dsutil.obj : error LNK2001: unresolved external symbol _DirectSoundCreate8@12
Debug/playsound.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
playsound.exe - 2 error(s), 0 warning(s)
记住:此路径也要提到最上面,如下图:
完成以上所有步骤后,编译通过,心情一下就爽了很多!
上编译链接成功后的图:
————2011年1月24日凌晨02:14分

 

相关文章
|
4月前
|
开发工具
,这个问题可能是由于模型加载失败或者音频文件格式不正确导致的
,这个问题可能是由于模型加载失败或者音频文件格式不正确导致的
34 1
|
11月前
Three入门 【加载外部模型,使用dat.gui创建动画控制器】
Three入门 【加载外部模型,使用dat.gui创建动画控制器】
90 0
|
3月前
|
编解码 Linux 计算机视觉
python 调用ffmpeg使用usb摄像头录制视频,输出h264格式,自动获取摄像头的最佳帧率和最大画面尺寸
使用 Python 调用 FFmpeg 进行 USB 摄像头视频录制,需先确保安装 FFmpeg 和 Python 的 `subprocess` 模块。代码示例展示了如何自动获取摄像头的最佳帧率和最大分辨率,然后录制视频。首先通过 FFmpeg 列出摄像头格式获取信息,解析出帧率和分辨率,选择最优值。之后调用 FFmpeg 命令录制视频,设置帧率、分辨率等参数。注意 `/dev/video0` 是 Linux 的摄像头设备路径,Windows 系统需相应调整。代码中未直接实现自动获取最佳参数,通常需要借助其他库如 OpenCV。
|
3月前
|
芯片
QT的音频操作---madplay &学习笔记
QT的音频操作---madplay &学习笔记
|
9月前
|
图形学
Unity——音频管理器(附例子)
Unity——音频管理器(附例子)
|
API Perl
IP - 射频数据转换器 -05- API使用指南 - ADC状态指示函数
IP - 射频数据转换器 -05- API使用指南 - ADC状态指示函数
259 0
IP - 射频数据转换器 -05- API使用指南 - ADC状态指示函数
Threejs工厂模型3Dmax模型obj+mtl格式,源文件下载
Threejs工厂模型3Dmax模型obj+mtl格式,源文件下载
776 0
Threejs工厂模型3Dmax模型obj+mtl格式,源文件下载
|
存储 编解码 Linux
嵌入式Linux下LCD应用编程: 调用giflib库解码显示GIF动态图
嵌入式Linux下LCD应用编程: 调用giflib库解码显示GIF动态图
745 0
嵌入式Linux下LCD应用编程: 调用giflib库解码显示GIF动态图
|
Linux
linux下使用QT调用FFMPEG读取摄像头一帧数据显示到标签控件上
linux下使用QT调用FFMPEG读取摄像头一帧数据显示到标签控件上
637 0
linux下使用QT调用FFMPEG读取摄像头一帧数据显示到标签控件上
|
Android开发 内存技术
【Android FFMPEG 开发】OpenSLES 播放音频 ( 创建引擎 | 输出混音设置 | 配置输入输出 | 创建播放器 | 获取播放/队列接口 | 回调函数 | 开始播放 | 激活回调 )(二)
【Android FFMPEG 开发】OpenSLES 播放音频 ( 创建引擎 | 输出混音设置 | 配置输入输出 | 创建播放器 | 获取播放/队列接口 | 回调函数 | 开始播放 | 激活回调 )(二)
343 0