在金山音霸中有一个混合声道,可以把好多区分左右声道的音乐如.DAT混合成一个声道,也就是说我不管用左声道的音箱还是右声道的音箱都能放出完整的音乐,在delphi中怎么实现,快,救救我吧!给100分哦!
解决方案 »
- Tms的advchart有用过的么
- cxgrid 如何给某列增加一个右键菜单以实现对选中的某行记录执行删除功能?
- Delphi2005运行时报错的问题
- UDP组件组播数据完整性能够得到保证吗?
- word自动化的问题,给点建议!
- 错误
- 初学DELPHI有几个问题希望大家回答!
- 请问怎么样才能用TTS使电脑发中文,我就要它发中文,不强求中英文都能发!!!
- select price+0.5 as newprice from shop,为什么dbgrid中反映的字段名不是newprice而是Expr1014
- 窗体不在任务栏显示
- 请大家列举一些访问(读/写) *.ini 文件的方法,以及使用ini文件的好处,列举得越多分越多
- 关于用Delphi6.0操作Excel的问题。其实就是有两个属性不知如何设置!请高手指点!共200分,请进
看onlinebook吧。
var t,v:longint;
begin
t:=trackbar1.postion;
wavoutgetvolume(0,@v);
v:=v and $ffff0000 or (t shl 8);
wavoutsetvolume(0,v);
end;
procedure tform1.trackbar2changer (sender:tobject);//右声道
var t,v:longint;
begin
t:=trackbar2.postion;
wavoutgetvolume(0,@v);
v:=v and $0000ffff or (t shl 24);
wavoutsetvolume(0,v);
end;
procedure tform1.dimsoundclick(sender:tobject);
begin
mcisendstring('set all audio all on',nil,0,handle);
dimsound.checked:=true;
leftsound.checked:=true;
rightsound.checked:=true;
end;
Str值为:L/R/Cconst
MCI_SETAUDIO= $873;
MCI_SETVIDEO=$0876;
MCI_DGV_SETAUDIO_SOURCE_LEFT=1;
MCI_DGV_SETAUDIO_SOURCE_STEREO=0;
MCI_DGV_SETAUDIO_SOURCE_RIGHT=2;
MCI_DGV_SETAUDIO_SOURCE=$4004;
MCI_DGV_SETAUDIO_VALUE=$01000000;
MCI_DGV_SETAUDIO_ITEM=$00800000; MCI_DGV_SETAUDIO_VOLUME=$4002;
MAX_VOLUME=65535;
MIN_VOLUME=0;
procedure TFormMain.LRC(Str: String);
var
s: MCI_DGV_SETAUDIO_PARMS ;
err:integer;
buf:array[0..1000] of char;
begin if MediaPlayer11.DeviceID>0 then
begin
err:=mciSendCommand(MediaPlayer11.DeviceID,MCI_SETAUDIO, MCI_SET_OFF ,integer(@s));
if(err<>0)then
begin
mciGetErrorString(err,buf,sizeof(buf) );
FormMain.MessageBoxShow('1',buf,2,True,10000);
end;
if Str='C' then
s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_STEREO;
if Str='L' then
s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_Left;
if Str='R' then
s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_Right;
s.dwItem:=MCI_DGV_SETAUDIO_SOURCE;
err:=mciSendCommand(MediaPlayer11.DeviceID,MCI_SETAUDIO,MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM ,integer(@s));
if (err<>0) then
begin
mciGetErrorString(err,buf,sizeof(buf) );
FormMain.MessageBoxShow('1',buf,2,True,10000);
end;
err:=mciSendCommand(MediaPlayer11.DeviceID,MCI_SETAUDIO, MCI_SET_ON ,integer(@s));
if (err<>0) then
begin
mciGetErrorString(err,buf,sizeof(buf) );
FormMain.MessageBoxShow('1',buf,2,True,10000);
end;
end;
end;