关于左,右声道的控制(200分)

  • 主题发起人 主题发起人 hntangwei
  • 开始时间 开始时间
H

hntangwei

Unregistered / Unconfirmed
GUEST, unregistred user!
急了:
如何控制在用Mediaplay放MPEG是,控制是放左声道,还是右声道。
要求:
1。控件可以
2。如是API,请说明用法
谢谢!
 
http://202.120.85.61/delphibbs/DispQ.asp?LID=108048
http://202.120.85.61/delphibbs/DispQ.asp?LID=106664
 
waveOutSetVolume(hwo:HWAVEOUT;dwVolume:DWORD)
dwVolume(HWORD:left volume;LWORD:right volume)
 
好象不是那么样的。
吾要处理的是MPEG的声道,比如,在粤语和国语之间进行切换。
 
在这里:

http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=192655
 
to pipi:
谢谢,可是,我用MediaPlay.deviceID却无法得到一个提示:
没有该属性,可以告诉我,你用的是哪个Mediaplay?
 
如果用ActiveX中的MediaPlay,如何获得DeviceID?
 
delphi带来的 MediaPlayer , 你不是用这个?
其他的我没用过。反正device id 是最基本的东西,一定要有
 
搞定,谢谢pipi及各位.
 
先定义:
const
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;

type MCI_DGV_SETAUDIO_PARMS=record
dwCallback:DWORD;
dwItem:DWORD;
dwValue:DWORD;
dwOver:DWORD;
lpstrAlgorithm:PChar;
lpstrQuality:PChar;
end
再在程序中写下:
procedure TMainForm.VoiceControl(chanel:Dword);
var
t: MCI_DGV_SETAUDIO_PARMS
error:integer;
buf:array[0..1000] of char;
begin

//选声道
t.dwvalue:=chanel;

t.dwItem:=MCI_DGV_SETAUDIO_SOURCE;
error:=mciSendCommandMediaPlayer1.DeviceID,MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUEor MCI_DGV_SETAUDIO_ITEM ,integer(@t));
if(error<>0)then

begin

mciGetErrorString(error,buf,sizeof(buf) );
ShowMessage(buf);
end;

end;
 

Similar threads

D
回复
0
查看
579
DelphiTeacher的专栏
D
D
回复
0
查看
909
DelphiTeacher的专栏
D
后退
顶部