- 博客(0)
- 资源 (8)
- 收藏
- 关注
DirectSound在条件允许的情况下将你的缓冲区设置为硬件缓冲控制
如果想自己控制创建的缓冲区位置,一定要将dwFlags标志中设置为DSBCAPS_LOCHARDWARE或者
设置为DSBCAPS_LOCSOFTWARE,如果设置为DSBCAPS_LOCHARDWARE,此时硬件设备的资源不足时,创
建将失败,如果想使用DirectSound的管理声音特性,则要指定DSBCAPS_LOCDEFER标志,该标志表
示只有在播放的时候才分配内存。通过IDirectSoundBuffer8.GetCaps来探明已经存的dwflags设置状况
设置音量,可以使用IDirectSoundBuffer8.SetValue来实现,但是前提是只有在创建Buffer的时
候设置了DSBCAPS_CTRLVOLUME标志,该函数才能调用成功。
上面缓冲区创建好了之后,我们就可以向缓冲区中写入需要播放的数据,然后进行播放了。
填充静态缓冲区
2010-05-24
DirectSound有一个缓冲区对象IDirectSoundBuffer
DirectSound有一个缓冲区对象IDirectSoundBuffer,该对象表示一个包含数据的缓冲区,这些数据以PCM格式被存储,该对象不仅可以用于开始、停止或暂停声音的播放,还能够设置声音数据中诸如频率和格式等属性。 缓冲区分为主缓冲区和副缓冲区,主缓冲区中是听者将要听到的音频信号,一般是将副缓冲区中信号混音后的结果。而副缓冲区中存放着许多单独的声音信号,有的可以直接播放,有的要混音,有的循环播放。主缓冲区由DirectSound自动创建,而副缓冲区需由应用程序来创建。DirectSound将副缓冲区中的声音混合后,存入主缓冲区,再输出到相应播放设备。
2010-05-24
流播放Demo sample "test.mpg"
dspack 流播放
- set up your environment so that the delphi "bin" directory is on the path
- start a command shell
- change directory to "test"
- type "make" without the quotes
- in the "player" directory you will have a "player.exe" with the merged sample "test.mpg"
2010-05-24
即时通讯工具Instant Messenger
即时通讯(Instant Messenger,简称IM),是指能够即时发送和接收互联网消息等的业务。自1998年面世以来,特别是近几年的迅速发展,即时通讯的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通讯不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。是一种终端连往即时通讯网络的服务。即时通讯不同于e-mail在于它的交谈是即时的。大部分的即时通讯服务提供了状态信息的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。
2009-11-06
ajax实现的 web聊天原理
简单无刷新聊天室源码
输入用户名,进入,直接就可以聊天了(最好找几个人一起测试呵呵)
C#.NET 代码
用C# .net + javascript + ajax实现的 web聊天原理
没有用其他的ajax类库,全自行代码,有利于学习ajax原理的朋友
SimpleChat为web文件夹
2009-11-06
mysql5.1官方中文手册.CHM
mysql5.1官方中文手册.CHM
MySQL数据库软件始终在发展,参考手册也会相应地频繁更新。本手册的最新版本以在线方式提供,请使用http://dev.mysql.com/doc/上的搜索表单。也提供多重其他格式,包括HTML、PDF、和Windows CHM版本。
2009-10-29
学习Indy控件时写的一个简单例子
学习Indy控件时写的一个简单例子,使用UDPServer进行通讯,
服务器进行数据转发,也可以直接进行客户端到客户端的通讯,
修改一下即可实现。
begin
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end.
type
TfrmConfig = class(TForm)
Label1: TLabel;
etServerIp: TEdit;
Label2: TLabel;
etNick: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
2008-11-25
EnumWindows(@WindowCallback, Longint(@WindowLst));
if not HaveOne and not (CMD=Longint(Sunhay_Message_CMD_Close))then begin //如果找不到窗口,执行
Param:= '';
for i:=1 to ParamCount do Param:=Param+ParamStr(i);
ShellExecute(HWND_BROADCAST, 'open', StrPCopy(PStr1, AppDir+'\'+constCentaurusApplicationName),
StrPCopy(PStr2, Param), '', SW_SHOWNORMAL);
end;
2008-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人