《多媒体开发工具》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:阎小兵等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1994
  • ISBN:7505323229
  • 页数:333 页
图书介绍:阎小兵等译.多媒体开发工具.北京:电子工业出版社

简介 1

目录 1

第一篇 编程参考 5

第一章 编程概述 7

1.1 所支持的编程语言 7

1.2 使用SBC C目标库 7

1.2.1 如何开始 7

1.2.2 Microsoft C 7

1.2.3 Turbo C 8

1.3 使用SBC Basic库 8

1.4 使用SBC Turbo Pascal Unit(TPU) 9

1.7 用Microsoft C和Turbo C编程 10

1.8 用Microsoft QuickBasic和Basic PDS 7.0编程 10

1.5 使用包含文件 10

1.6 用汇编语言编程 10

1.9 用Turbo Pascal 6.0编程 11

第二章 基本函数 12

2.1 SOUND和BLASTER环境变量 12

2.1.1 关于SOUND环境变量 12

2.1.2 关于BLASTER环境变量 12

2.2 包含文件和全局变量 13

2.3 库函数 13

2.3.1 GetEnvSetting 13

2.3.3 sbc_scan_int 14

2.3.2 sbc_scan_card 14

2.3.4 sbc_check_card 15

2.3.5 sbc_test_int 15

2.3.6 sbc_test_dma 16

2.3.7 sbc_version 16

2.3.8 sbc_dsp_reset 16

2.4 样例程序 17

2.4.1 C样例程序 17

2.4.2 Basic样例程序 19

2.4.3 Turbo Pascal样例程序 20

3.2 使用驻留驱动程序 23

3.1 可装载驱动程序和驻留驱动程序 23

第三章 驱动程序 23

3.3 使用可装载驱动程序 24

3.4 样例程序 24

3.4.1 C样例程序 24

3.4.2 Basic样例程序 26

3.4.3 Turbo Pascal样例程序 28

第四章 CT声音 32

4.1 Creative声音文件(VOC)格式 32

4.1.1 头块 33

4.1.2 数据块 33

4.4 CT声音扩展内存模式 36

4.5 使用CT-VOICE驱动程序 36

4.2 原始8位声音数据文件 36

4.3 CT声音基本内存模式 36

4.6 内存模式下可装载声音驱动程序对汇编语言的接口 37

4.7 内存模式下声音驱动程序功能参考 37

4.7.1 功能0:获取驱动程序版本号 37

4.7.2 功能1:设置I/O基址 37

4.7.3 功能2:为DMA设置中断 38

4.7.4 功能3:初始化驱动程序 38

4.7.5 功能4:DAC扬声器开/关 38

4.7.7 功能6:开始声音输出 39

4.7.8 功能7:开始声音输入 39

4.7.6 功能5:设置状态字地址 39

4.7.9 功能8:终止声音I/O 40

4.7.10 功能9:终止驱动程序 40

4.7.11 功能10:暂停声音输出 40

4.7.12 功能11:继续声音输出 40

4.7.13 功能12:跳出声音输出循环 40

4.7.14 功能13:设置用户定义的自陷 41

4.7.15 功能14:从扩展内存启动声音输出 41

4.7.16 功能15:开始输入声音到扩展内存 42

4.7.17 功能16:设置记录方式[SBPRO] 42

4.7.18 功能17:设置录音源[SBFPRO] 42

4.7.19 功能18:设置录音滤波器[SBPRO] 42

4.7.25 功能24:空闲 43

4.7.24 功能23:空闲 43

4.7.26 功能25:空闲 43

4.7.27 功能26:获取声音采样率 43

4.7.22 功能21:空闲 43

4.7.21 功能20:获取音频卡类型 43

4.7.20 功能19:设置DMA通道[SBPRO] 43

4.7.23 功能22:滤波器开/关 43

4.7.28 功能27:读滤波器状态[SBPRO] 44

4.8 内存模式下可装载声音驱动程序对高级语言的接口 44

4.9 使用内存模式声音库 44

4.9.1 建立和退出 45

4.9.2 声音输入 45

4.10.1 ctvm_version 46

4.10.2 ctvm_init 46

4.10 SBC内存模式库函数 46

4.9.3 声音输出 46

4.10.3 ctvm_speaker 47

4.10.4 ctvm_input 47

4.10.5 ctvm_output 48

4.10.6 ctvm_stop 48

4.10.7 ctvm_pause 49

4.10.8 ctvm_continue 49

4.10.9 ctvm_break_loop 49

4.10.10 ctvm_terminate 50

4.10.11 ctvm_outputxms 50

4.10.12 ctvm_inputxms 51

4.10.15 ctvm_get_DAC_range 52

4.10.14 ctvm_get_ADC_range 52

4.10.13 ctvm_get_cardtype 52

4.10.16 ctvm_set_stereo 53

4.10.17 ctvm_set_input_source 53

4.10.18 ctvm_set_input_freq 54

4.10.19 ctvm_ANFI_control 54

4.10.20 ctvm_DNFI_control 55

4.10.21 ctvm_get_ANFI 55

4.10.22 ctvm_get_DNFI 56

4.11 样例程序 56

4.11.1 C样例程序 56

4.11.2 Basic样例程序 69

4.11.3 Turbo Pascal样例程序 79

4.12 CT声音磁盘双缓冲模式 92

4.13 使用CTVDSK驱动程序 93

4.14 磁盘双缓冲模式下可装载声音驱动程序对汇编语言的接口 93

4.15 磁盘双缓冲模式下声音驱动程序功能参考 93

4.15.1 功能0:获取驱动程序版本号 93

4.15.2 功能1:设置I/O基址 93

4.15.3 功能2:为DMA设置中断 94

4.15.4 功能3:初始化驱动程序 94

4.15.5 功能4:DAC扬声器开/关 94

4.15.7 功能6:开始声音输出 95

4.15.8 功能7:开始声音输入 95

4.15.6 功能5:设置状态字地址 95

4.15.9 功能8:终止声音I/O 96

4.15.10 功能9:终止驱动程序 96

4.15.11 功能10:暂停声音输出 96

4.15.12 功能11:继续声音输出 96

4.15.13 功能12:跳出声音循环 96

4.15.14 功能13:空闲 96

4.15.15 功能14:获取声音过程中产生的错误 96

4.15.16 功能15:设置磁盘双缓冲区的地址 97

4.15.17 功能16:设置记录方式[SBPRO] 97

4.15.18 功能17:设置录音源[SBPRO] 97

4.15.19 功能18:设置录音滤波器[SBPRO] 97

4.15.22 功能21:获取声音采样率 98

4.15.23 功能22:滤波器开/关 98

4.15.20 功能19:设置DMA通道[SBPRO] 98

4.15.21 功能20:获取音频卡类型 98

4.15.24 功能23:读滤波状态[SBPRO] 99

4.16 磁盘双缓冲模式下可装载声音驱动程序对高级语言的接口 99

4.17 使用磁盘双缓冲模式SBC声音库 99

4.17.1 建立和退出 99

4.17.2 声音输入 100

4.17.3 声音输出 100

4.18 磁盘双缓冲模式下SBC声音库函数 101

4.18.1 ctvd_version 101

4.18.2 ctvd_init 101

4.18.4 ctvd_input 102

4.18.3 ctvd_speaker 102

4.18.5 ctvd_output 103

4.18.6 ctvd_stop 103

4.18.7 ctvd_pause 104

4.18.8 ctvd_continue 104

4.18.9 ctvd_break_loop 104

4.18.10 ctvd_terminate 105

4.18.11 ctvd_drv_error 105

4.18.12 ctvd_ext_error 106

4.18.13 ctvd_buffer_addx 106

4.18.14 ctvd_get_cardtype 107

4.18.15 ctvd_get_ADC_range 107

4.18.18 ctvd_set_input_source 108

4.18.16 ctvd_get_DAC_range 108

4.18.17 ctvd_set_stereo 108

4.18.19 ctvd_set_input_freq 109

4.18.20 ctvd_ANFI_control 109

4.18.21 ctvd_DNFI_control 110

4.18.22 ctvd_get_ANFI 110

4.18.23 ctvd_get_DNFI 111

4.19 样例程序 111

4.19.1 C样例程序 111

4.19.2 Basic样例程序 121

4.19.3 Turbo Pascal样例程序 131

5.1.2 头块 147

5.1.1 主要组成 147

5.1 Creative音乐文件(CMF)格式 147

第五章 FM音乐 147

5.1.3 乐器块 148

5.1.4 音乐块 148

5.2 Sound Blaster乐器文件(SBI)格式 149

5.3 Sound Blaster乐器组合(IBK)格式 150

5.4 使用FM驱动程序 151

5.5 FM驱动程序对汇编语言的接口 151

5.6.2 功能1:设置音乐状态字节地址 152

5.6.3 功能2:设置乐器表 152

5.6.4 功能3:设置系统时钟速率 152

5.6.1 功能0:获取FM驱动程序版本号 152

5.6 FM驱动程序功能参考 152

5.6.5 功能4:设置驱动程序时钟速率 153

5.6.6 功能5:音乐移调 153

5.6.7 功能6:演奏音乐 153

5.6.8 功能7:终止音乐 153

5.6.9 功能8:重置FM驱动程序 154

5.6.10 功能9:暂停音乐 154

5.6.11 功能10:重新开始音乐的播放 154

5.6.12 功能11:置用户定义的自陷为系统专用命令 154

5.7 FM驱动程序对高级语言的接口 154

5.8 FM高级库函数参考 155

5.8.1 sbfm_init 155

5.8.4 sbfm_sys_speed 156

5.8.2 sbfm_version 156

5.8.3 sbfm_instrument 156

5.8.5 sbfm_song_speed 157

5.8.6 sbfm_transpose 157

5.8.7 sbfm_play_music 158

5.8.8 sbfm_stop_music 158

5.8.9 sbfm_pause_music 159

5.8.10 sbfm resume_music 159

5.8.11 sbfm_read_status 159

5.8.12 sbfm_reset 160

5.8.13 sbfm_terminate 160

5.9 低级FM音乐 161

5.8.14 sbfm_set_channel 161

5.10 FM低级函数参考 162

5.10.1 sbfd_init 162

5.10.2 sbfd_instrument 162

5.10.3 sbfd_note_on 163

5.10.4 sbfd_note_off 163

5.10.5 sbfd_program_change 163

5.10.6 sbfd_music_off 164

5.10.7 sbfd_setmode 164

5.10.8 sbfd_reset 165

5.11 样例程序 165

5.11.1 C样例程序 165

5.11.2 Basic样例程序 175

5.11.3 Turbo Pascal样例程序 182

第六章 从文本到语音 193

6.1 使用SBTALKER驱动程序 193

6.2 SBTALKER驱动程序的低级接口 193

6.2.1 检查SBTALKER驱动程序 193

6.2.2 驱动程序入口点和语音记录 193

6.3 SBTALKER函数参考 194

6.3.1 sbts_init 194

6.3.2 sbts_say 195

6.3.3 sbts_settings 195

6.4 样例程序 196

6.4.1 C样例程序 196

6.4.2 Basic样例程序 197

6.4.3 Turbo Pascal样例程序 198

第七章 MIDI接口 201

7.1 函数参考 201

7.1.1 sbmidi_out_shor_tmsg 201

7.1.2 sbmidi_out_longmsg 202

7.1.3 sbmidi_start_input 202

7.1.4 sbmidi_get_input 203

7.1.5 sbmidi_stop_input 203

7.2 样例程序 204

7.2.1 C样例程序 204

7.2.2 Basic样例程序 208

7.2.3 Turbo Pascal样例程序 212

8.2 可装载辅助驱动程序对汇编语言的接口 218

第八章 混音器 218

8.1 使用AUXDRV驱动程序 218

8.3 可装载辅助驱动程序功能参考 219

8.3.1 功能0:获取驱动程序版本号 219

8.3.2 功能1:设置I/O基址 219

8.3.3 功能2:设置渐弱状态字地址 219

8.3.4 功能3:设置声相状态字地址 219

8.3.5 功能4:初始化驱动程序 220

8.3.6 功能5:终止驱动程序 220

8.3.7 功能6:设置音量 220

8.3.8 功能7:获取音量 220

8.3.9 功能8:设置声音渐弱方式 220

8.3.11 功能10:启动声相和渐弱 221

8.3.10 功能9:建立声相 221

8.3.12 功能11:终止声相和渐弱 222

8.3.13 功能12:暂停声相和渐弱 222

8.3.14 功能13:清除声相和渐弱 222

8.3.15 功能14:设置声相位置 222

8.3.16 功能15:获取声相位置 222

8.4 辅助库对高级语言的接口 223

8.4.1 建立和退出 223

8.4.2 渐弱和声相 223

8.5 辅助库函数参考 223

8.5.1 ctadGetDrcVer 223

8.5.4 ctadSetVlume 224

8.5.3 ctadTerminate 224

8.5.2 ctadInit 224

8.5.5 ctadGetVolume 225

8.5.6 ctadFade 225

8.5.7 ctadPan 226

8.5.8 ctadStartCtrl 227

8.5.9 ctadStopCtrl 227

8.5.10 ctadPauseCtrl 228

8.5.11 ctadClrSource 228

8.5.12 ctadSetPanPosition 228

8.6 样例程序 229

8.6.1 C样例程序 229

8.5.13 ctadGetPanPosition 229

8.6.2 Basic样例程序 236

8.6.3 Turbo Pascal样例程序 244

第九章 CD-ROM音频接口 254

9.1 使用CD播放器函数 254

9.2 术语 254

9.3 CD播放器函数参考 255

9.3.1 sbcd_continue 255

9.3.2 sbcd_fastforward 255

9.3.3 sbcd_get_aud_status 256

9.3.4 sbcd_get_disc_info 256

9.3.5 sbcd_get_loc_info 257

9.3.8 sbcd_media_changed 258

9.3.6 sbcd_get_volume 258

9.3.7 sbcd_init 258

9.3.9 sbcd_next_track 259

9.3.10 sbcd_pause 259

9.3.11 sbcd_play 260

9.3.12 sbcd_prev_track 260

9.3.13 sbcd_read_toc 261

9.3.14 sbcd_rewind 261

9.3.15 sbcd_select_drv 261

9.4 样例程序 262

9.4.1 C样例程序 262

9.3.16 sbcd_stop 262

9.4.2 Basic样例程序 266

9.4.3 Turbo Pascal样例程序 271

9.5 错误代码索引 274

第二篇 硬件技术参数 277

第十章 SBC I/O地址表 279

10.1 SB I/O地址表 279

10.2 SB20 I/O地址表 280

10.3 SBMCV I/O地址表 280

10.4 SBPRO I/O地址表 281

11.2 重置DSP 282

11.3 DSP写入 282

第十一章 DSP编程 282

11.1 简介 282

11.4 DSP读出 283

11.5 用DSP控制中断 283

第十二章 DSP声音接口 284

12.1 操作码 284

12.2 传输模式 284

12.2.1 直接传输模式 284

12.2.2 DMA传输模式 284

12.2.3 采样过程 286

12.3.1 数据压缩 287

12.3.2 输出过程 287

12.3 数据压缩方案 287

12.4 传输速度 288

12.4.1 一般速度 288

12.4.2 高速度 288

12.4.3 采样过程 288

第十三章 MIDI的DSP接口 291

13.1 操作方式 291

13.1.1 一般方式 291

13.1.2 UART方式 291

13.2 MIDI一般方式下中断控制的过程 291

13.3 MIDI UART方式下中断控制的过程 292

第十四章 DSP命令 293

14.1 命令:1xH 293

14.3 命令:3xH 294

14.2 命令:2xH 294

14.4 命令:4xH 296

14.5 命令:7xH 296

14.6 命令:8xH 297

14.7 命令:9xH 297

14.8 命令:DxH 298

14.9 命令:ExH 299

14.10 DSP命令总览 300

14.11 DSP I/O端口总览 300

第十五章 FM合成器 301

15.1 简介 301

15.2 FM合成器的寄存器表 302

15.2.1 寄存器地址表 303

15.2.2 状态寄存器 303

15.2.3 操作单元号和通道号 303

15.3 寄存器功能 304

15.3.1 测试(01H) 304

15.3.2 定时器-1(02H) 304

15.3.3 定时器-2(03H) 304

15.3.4 定时器控制(04H) 304

15.3.5 CMS方式/键盘分离(08H) 305

15.3.6 AM/VIB/EG/KSR/MULTIDLE(20H-35H) 305

15.3.7 KSL/Total Level(40H-55H) 307

15.3.8 上升/下降率(60H-75H) 308

15.3.9 保持水平/释放率(80H-95H) 309

15.3.10 Block(块)/F-Number(0A0H-0B8H) 311

15.3.11 反馈/联结(Feedback/Connection)(0C0H-0C8H) 312

15.3.12 振幅调制颤音幅度/节奏(AM VIB-Depth/Rhythm)(0BDH) 313

15.3.13 波形选择 313

第十六章 混音器芯片编程 315

16.1 混音器地址表 316

16.2 寄存器功能 316

16.2.1 重置寄存器(00H) 316

16.2.4 输入设置寄存器(0CH) 317

16.2.5 输出设置寄存器(0EH) 317

16.2.6 总音量寄存器(22H) 317

16.2.3 麦克风混音寄存器(0AH) 317

16.2.2 音量寄存器(04H) 317

16.2.7 FM音量寄存器(26H) 318

16.2.8 CD音量寄存器(28H) 318

16.2.9 LINE-IN音量寄存器(2EH) 318

第十七章 游戏杆端口规格 319

第三篇 附录 321

附录A BASIC补充函数 323

附录B DMA控制器(DMAC)编程 327

B.1 DMAC的特性 327

B.2 DMAC的编程 327

B.3 采样过程 329

B.4 结束DMA中断 329

附录C SBK函数速查参考 331