《DOS和Windows环境下的声音编程技术》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Nathan Gurewich,(美)Ori Gurewich著;冯文全等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1996
  • ISBN:750533381X
  • 页数:351 页
图书介绍:

第一章 声音程序设计 1

1.1PC机说话与播放音乐的概念 1

1.1.1适合人视听感的程序 1

目录 1

1.2PC机有无附加硬件时发音的概念 2

1.3安装本书附带的磁盘 2

1.4TSENGINE 3

1.5本书附带的磁盘 3

1.5.1安装本书的磁盘 3

2.3Windows操作系统 5

2.3.1在程序管理器中生成新的图标组 5

2.1如何使PC机发声 5

2.2如何在程序中运用声音 5

第二章 声音编程技术和声音库 5

2.4执行应用程序 11

2.5本书内容的安排 11

2.6DOS下的声音文件 11

第三章 Generic1Windows程序 13

3.1Generic1.C和Generic2.C 13

3.2Generic1.C程序的文件 13

3.5Generic1.C中的WinMain函数 20

3.4Generic1.C的#include部分 20

3.3快速浏览Generic1 20

3.5.1WinMain函数的局部变量 21

3.5.2共用Generic1实例 21

3.5.3更新和注册Window类 21

3.5.4建立、更新和显示ProgramWindow程序窗口 22

3.5.5Generic1.C的消息循环 22

3.6Wndproc函数 23

3.6.1Wndproc函数的消息开关(Switch) 23

3.6.2处理WM_CREATE消息 24

3.6.3处理WM_PAINT消息 24

3.6.4处理WM_COMMAND消息 25

3.6.5处理WM_DESTROY消息 26

3.7源文件Generic1.rc 27

3.8模块定义文件Generic1.def 28

3.9用于Microsoft编译器的MAKE文件:Generic1.mak 28

3.9.1-C开关 29

3.9.2-G2sw开关 29

3.9.3-Ow开关 29

3.9.4-W3开关 29

3.9.5-Zp开关 30

3.10Generic1.mak的连接部分 30

3.12.1用MicrosoftC编译器编译并连接 31

3.11TegoWin.lib库 31

3.12NMAKE程序 31

3.12.2用Microsoft程序员工作平台(PWB)编译并连接 32

3.12.3Borland编译器的Make文件Generic1.mak 32

3.13执行Generic1.exe程序 32

3.13.1在Windows下执行Generic1 32

3.13.2为程序生成一个图标 32

3.13.3在DOS命令行中执行的Generic1 33

3.14编写基于Generic1.C格式的程序 33

4.3执行Hello程序 35

4.2用Borland编译器编译、连接Hello程序 35

4.1用Microsoft编译器编译、连接Hello程序 35

第四章 Hello.c程序 35

4.4Hello程序的文件 36

4.4.1Make文件Hello.mak 43

4.4.2源文件Hello.rc 43

4.4.3模块定义文件Hello.def 43

4.4.4#include文件Hello.h 43

4.4.5Hello.c文件 43

4.5DLL函数对静态sp_函数 44

4.6其它sp_函数的用法 44

4.7.3sp_OpenSession函数的第三个参数 45

4.7.2独立参数 45

4.7sp_OpenSession函数的参数 45

4.7.1声音文件Hello.ts 45

4.7.4文件类型参数 46

4.8sp_PlayF函数 46

4.9sp_START_OF_FILE和sp_END_OF_FILE标识符 47

4.10Hello.c中的其它sp_PlayF语句 48

4.11TSSoundEditor程序 48

4.11.1在退出程序时向用户说Good-Bye 49

4.11.2sp_PlayLabelF函数和sp_PlayTimeF函数 50

4.12Sections程序 51

4.12.1Sections程序的编译和连接 52

4.12.2Sections程序的运行 53

4.12.3Sections程序的声音段 53

4.12.4Sections程序的文件 53

4.12.5WM_CREATEcase 61

4.12.6播放整个声音文件 61

4.12.7播放声音文件的声音段 62

4.12.8WM_ABOUTcase 62

4.12.9WM_DESTROYcase 62

4.13Push2Say程序 63

4.13.2Push2Say程序的文件 64

4.13.1编译、连接Push2Say程序 64

4.13.3Push2Say程序的按钮 72

第五章 声音文件类型 75

5.1FileType程序 75

5.1.1编译连接FileType程序 76

5.1.2执行FileType程序 76

5.1.3FileType程序的文件 76

5.2FileType程序概述 88

5.2.1作为主窗口的对话框 88

5.1.4位图文件 88

5.2.2处理WM_COMMAND消息 89

5.2.3sp_OpenSession的其他返回值 91

5.2.4处理键盘信息 91

5.2.5About对话框 92

5.2.6SetFocus函数 92

5.2.7显示位图 92

5.2.8FileType的背景 94

第六章 动画 95

6.1Dog程序 95

6.1.1编译、连接和运行Dog程序 95

6.1.2什么是动画制作 96

6.1.4Dog程序文件 97

6.1.3建立位图 97

6.1.5SP_PlayF函数返回值的作用 110

6.1.6Dog.c的WinMain函数 110

6.1.7Dog.c的WndProc 110

6.1.7.1WM_CREATEcase 111

6.1.7.2WN_PAINTcase 111

6.1.7.3WM_DESTROYcase 112

6.1.7.4WM_CHARcase 113

6.1.7.5WM_LBUTTONDOWNcase 113

6.1.9PlayIt函数 114

6.1.8BarkingShow函数 114

6.1.10DisplayDogWithOpen和DisplayDogWithClose函数 116

6.2HearMe程序 116

6.2.1HearMe程序的文件 116

6.2.2编译、连接和运行HearMe程序 116

6.2.3播放Good-Bye和退出程序 129

6.2.4HearMe程序的面部表情 130

6.2.5放音与动画制作 130

6.2.6DisplayFaceWithOpen、DisplayFaceWithClose和DisplayFaceWithMid函数 132

6.3.1编译、连接和运行Dance程序 133

6.3.2Dance程序的文件 133

6.2.7改进HearMe程序 133

6.3Dance程序 133

6.3.3Dance程序的WndProc 149

6.3.4舞姿显示 150

6.3.5DanceShow函数 150

第七章 与语音同步移动文本 155

7.1Press程序 155

7.1.1编译连接并运行Press程序 155

7.1.2Press程序的文件 156

7.1.3Press.c的Wndproc函数 157

7.1.4PlayInstruction函数 158

7.2.1编译连接PlzWait程序 160

7.1.5与Press相似的程序 160

7.2PlzWait程序 160

7.2.2执行PlzWait程序 161

7.2.3PlzWait程序的文件 162

7.2.4PlzWait的WndProc函数 162

7.2.5SpeakShow函数 165

7.2.6DisplayPlease函数 167

7.2.7完成显示的另一个方法 169

7.2.8应用Paintbrush 169

7.2.9创建显示的建议 169

8.1.1编译、连接、运行Rotate程序 171

第八章 控制 171

8.1Rotate程序 171

8.1.2Rotate程序文件 172

8.1.3打开声音话路 186

8.1.4运行Rotate对话框 186

8.1.5初始化Rotate对话框 186

8.1.6确定Speed滚动条的最小值与最大值 187

8.1.7确定Speed滚动条的自然位置 187

8.1.8保存速度滚动条的当前位置 188

8.1.9装入Rotate对话框中用到的位图文件 188

8.1.10Rotate对话框的WM_PAINTCase 188

8.1.13ChangeSpeedwasRequested函数 189

8.1.11左移或右移滚动条 189

8.1.12拖动Speed滚动条 189

8.1.14sp_SetNewSpeed函数 190

8.1.15Rotate对话框的PLAY_PB按钮 190

8.1.16Rotate对话框的PLAY_BACKWARD_PBCase 191

8.1.17sp_PlayB函数 191

8.1.18ROTATERIGHT与ROTATELEFT函数 192

8.1.19关于sp_PlayB函数的进一步解释 192

8.1.20退出Rotate对话框 193

8.2Controls程序 193

8.2.1编译、连接和运行Controls程序 193

8.2.2Controls程序的文件 195

8.2.3Controls程序中的新sp_函数 211

8.3关于Controls程序 212

8.3.1在播放中显示声音文件的位置 212

8.3.2使用户能够停止播放 213

8.3.3使用户能在播放过程中改变播放速度 214

8.3.4选择播放组的大小 214

第九章 基于Generic2的程序——多任务 215

9.1Windows操作系统 215

9.1.1Generic1的消息循环 215

9.1.2Generic2的消息循环 216

9.2.1编译和连接Generic2程序 217

9.2Generic2程序 217

9.2.2执行Generic2程序 218

9.2.3Generic2文件 218

9.2.4Generic2的WinMain函数 226

9.2.5允许使用鼠标 227

9.2.6消息循环前的初始化 227

9.2.7在消息循环里的播放声音 228

9.2.8Generic2的WndProc函数 229

9.2.9禁止鼠标 229

9.3.2执行SayName程序 230

9.3.1编译和连接SayName程序 230

9.3SayName程序 230

9.2.10多例子 230

9.3.3SayName文件 231

9.3.4SayName的WinMain函数 240

9.3.5SayName的消息循环 240

9.3.6监视Windows对话 241

9.4Organ程序 242

9.41编译连接和执行Organ程序。 242

9.4.2Organ的文件 244

9.4.3Organ的WinMain函数 244

9.4.4Organ的消息循环 245

9.4.5初始化ScrollBar 246

9.4.6滚动条变化的结果 246

9.4.7处理键盘键 247

9.4.8演奏风琴 248

9.4.9处理按钮 248

9.4.10指令对话框 248

9.4.11Organ程序升级 249

9.5Control2程序 249

9.5.1编译、连接和执行Control2程序 249

9.5.2Control2文件 250

9.5.4打开声音话路 251

9.5.3程序主窗口对话框 251

9.5.5Control2的消息循环 252

9.5.6Control2的WM-CREATEcase 253

9.5.7Control2的WM-PAINTcase 253

9.5.8Control2的WM-CHARcase 254

9.5.9Control2的WM-HSCROLLcase 255

9.5.10处理按钮 255

9.5.11允许和禁止使用鼠标 256

第十章 独立程序 257

10.1改进Dog程序为独立程序 257

10.1.1TSlink实用程序 259

10.1.2运行独立Dog程序 260

10.2使用TSLabels 260

10.3参数__argv{} 260

10.4sp_OpenSession函数的第三个参数 261

10.5转换其它程序 261

10.6WhoAmI程序 261

10.6.1编译和连接WhoAmI程序 268

10.6.2将一个声音文件和WhoAmI程序连接起来 268

10.7LpszCmdline变量 268

11.2.1安装声卡的硬件和软件 271

11.2安装声卡 271

11.1Windows操作系统与声卡 271

第十一章 在Windows应用程序中使用声卡 271

11.2.2声卡的Windows驱动程序 272

11.3Hello2程序 274

11.3.1为Hello2程序录制.WAV文件 274

11.3.2编译、连接和运行Hello2程序 275

11.3.3Hello程序的文件 275

11.3.4Hello2的#include语句 285

11.3.5Hello2程序的Make文件 285

11.3.6Hello2程序的WinMain函数 286

11.3.7Hello2程序的WndProc函数 287

11.3.8打开Wave话路 289

11.3.9独立程序 290

11.3.10Hello2程序的WM_CHARcase 290

11.3.11Hello2程序的WM_COMMANDcase 291

11.3.12ts_PlayWaye函数 291

11.4Record程序 293

11.4.1编译,连接和运行Record程序 293

11.4.2Record程序的文件 294

11.4.3Record程序的WM_CREATEcase 295

11.4.4在WM_COMMANDcase下处理播放请求 296

11.4.5在WM_COMMANDcase下处理Record程序的请求 297

11.4.7停止录制和播放 299

11.4.6在已存在的WAV文件中插入新的录制 299

11.4.8录制的取样率和其它ts-函数 301

11.5Record2程序 301

11.5.1编译、连接和运行Record2程序 301

11.5.2Record2程序的文件 303

11.5.3Record2程序的WM_COMMANDcase 303

11.6Dog2程序 307

11.6.1编译、连接和Dog2运行程序 307

11.6.2Dog2程序的文件 307

11.7.2预置画面帧 309

11.7.1预置计时器 309

11.7建立一个异步显示的过程 309

11.6.3Dog2程序的动画制作 309

11.7.3显示时播放声音 312

11.7.4动画制作 313

11.7.5结束显示 313

11.8PressAny程序 314

11.8.1编译、连接和运行PressAny程序 314

11.8.2PressAny程序的文件 316

11.8.3PressAny程序的显示 316

11.9播放乐器数字化接口(MIDI)文件 319

11.9.1PlayMIDI程序的文件 319

11.9.3PlayMIDI程序的代码 320

11.9.2编译、连接和运行PlayMIDI程序 320

11.9.5合成WAV文件和MIDI文件 321

11.9.4其它ts_MIDI函数 321

第十二章 DOS下的声音C语言编程 323

12.1编写DOS下通过PC机内置扬声器播放声音的C语言程序 323

12.2MAKEexe.bat文件 323

12.3PlayTs.c程序 324

12.3.1生成TS声音文件 324

12.3.2编译、连接PlayTS程序 324

12.3.4声音文件命名 325

12.4PlayTS程序的C代码 325

12.3.3执行PlayTS.exe程序 325

12.4.1#include文件 328

12.4.2从DOS命令行拾取声音文件名 328

12.4.3打开一个声音话路(session) 328

12.4.4清键盘缓冲区 329

12.4.5播放声音文件 330

12.4.6循环播放 330

12.4.7中止while循环 331

12.4.8标准C函数_disable()与_enable() 331

12.4.9其它sp_play()函数 331

12.6.1编译、连接和执行PlayS程序 332

12.5内存管理与虚拟内存 332

12.6PlayS程序 332

12.6.2PlayS.C的代码 333

12.6.3使用S文件 333

12.7播放组的大小 333

12.8独立程序 334

12.8.1把PlayTS程序转换为独立的声音程序 334

12.10Tegosoft声音库的附加sp_函数 336

12.11Info4TS程序 336

12.9转换其它程序 336

12.8.2执行独立程序NiceDay 336

12.11.1编译,连接和执行Info4TS程序 337

12.12Info4TS.c程序的C代码 337

12.12.1禁止Ctrl-C 337

12.12.2从文件中提取信息 338

12.12.3显示播放的当前位置 338

12.13Info4S程序 339

12.13.1编译、连接和执行Info4S程序 339

12.13.2sp_get_函数族用于其它类型的声音文件(.WAV、.VOL、.SND) 339

12.15与声音同步移动文本 340

12.15.1编译、连接和执行SayPress程序 340

12.14改变播放速度 340

12.15.2SayPress程序的代码 341

12.15.3文字到语言 341

12.16动画、图形和播放 341

第十三章 DOS下的声卡(soundBlasterCard) 343

13.1执行PlayVOC程序 343

13.2用BorlandC编译器编译和连接PlayVOC 343

13.3用MicrosoftC编译器编译和连接PlayVOC 343

13.4PlayVOC代码 344

13.4.1装载和初始化SoundBlasterDriver程序 344

13.4.3播放声音文件 346

13.4.2将VOC文件装入内存 346

13.4.4停止播放 347

13.4.5释放.VOC缓冲区和声卡 347

13.5其它声霸卡函数 348

13.6用声霸卡在DOS下建立多媒体程序 350

附录 声音动态链接库DLL 351

F1.1使用DLL声音函数的优点 351

F1.1.1VisualBasic和其他Windows程序设计语言使用DLL声音库 351

F1.2使用DLL声音库的缺点 351

F1.2.1使用DLL声音库 351

F1.2.2使用DLL4snd.DLL动态连接库(DLL) 351