delphi中如何控制声道的输出呢?(200分)

  • 主题发起人 主题发起人 ihweb
  • 开始时间 开始时间
I

ihweb

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi中如何控制声道的输出呢?(就是说左右声道同时为左声道,
左右声道同时为右声道呢?)希望能给出源程序。
 
用api,先uses mmsystem
mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString,UINT cchReturn, HANDLE hwndCallback)
 
用DirectX编程!
 
不是用waveoutsetvolume吗
 
用DIRECTX该如何去实现呢??请教.
 
用DelphiX控件
 
能给出源程序吗??请各路英雄帮帮忙,急!
 
请搜索就帖,答案早就有了
 
读出数据,一般PCM格式的文件数据按左右声道顺序排放,只需把左声道的数据复制
到右声道即可.若是其他格式就困难了.
 
我用DELPHI控件TMediaPlayer 播放 MPEG4压缩的AVI 已经能成功地控制 左右声道、立体声输出,要讨价还价请
发邮件到 www.hby@163.com
 
找到了。
mciExecute(Pchar('SetAudio MyPlay source to Right'));右声道
mciExecute(Pchar('SetAudio MyPlay source to Left'));左声道
mciExecute(Pchar('SetAudio MyPlay source to stereo'));立体声
mciExecute(Pchar('SetAudio MyPlay source to average'));均衡;

Myplay 是当前所播放的alias
直接控制声音来源,左右音箱音量绝对相对。
可以给分了吧。
 
出错,提示MMSYSTEM261所用的命令不是有效的MCI命令.
急啊.
 
to:撒野
你用的AVI是自己压的吗?如果不是,你搞定的MPEG4的AVI的左右声道是不是指卡拉OK中“原声”和“伴唱”的概念呀?如果是
 
我是播放RM格式的文件啊.帮帮我啊
 
MMSYSTEM好像不能放RM格式的文件吧!!!!!!
 
用MCI,对VCD文件有效
unit func;

interface

uses mmsystem,mplayer,Windows,Classes,Sysutils,Graphics,Jpeg,Registry,
winsock;

const
MCI_SETAUDIO= $873;
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;

TChannels=(Ch_Left,Ch_Right,Ch_Stereo,Ch_Mono);

procedure SwitchChinnel(MPlayer:TMediaplayer;ChSet:TChannels);
function FileLength(FileName:String):Extended;
function FreeSpaceOnTargetDrive(Drive:string):Extended;
function GetCdromDrive: char;
procedure SaveToSpJpeg(var sbitmap: Tbitmap;const DJpegFile: string;
SRect: trect);
procedure SetIP(ipdata:string);
function GetIp:string;
implementation


procedure SwitchChinnel(MPlayer:TMediaplayer;ChSet:TChannels);
var
s: MCI_DGV_SETAUDIO_PARMS
begin

mciSendCommand(MPlayer.DeviceID,MCI_SETAUDIO,MCI_SET_OFF,integer(@s));
case ChSet of
ch_stereo:
s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_STEREO;
//Á¢ÌåÉùÓÃÕâ¾ä
ch_left:
s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_LEFT;
//×óÉùµÀÔ´
ch_right:
s.dwValue:=MCI_DGV_SETAUDIO_SOURCE_RIGHT;
//ÓÒÉùµÀÔ´
end;

s.dwItem:=MCI_DGV_SETAUDIO_SOURCE;
mciSendCommand(MPlayer.DeviceID,MCI_SETAUDIO, MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM ,integer(@s));
mciSendCommand(MPlayer.DeviceID,MCI_SETAUDIO, MCI_SET_ON,integer(@s));
end;

 
我是用REALAUDIO控件啊,播放RM格式的影片,究竟怎么控制声道啊(左,右,立体,均衡)?
怎么还没有高手指点啊?
 
to 北狼
哪儿有REALAUDIO控件下载呀?能告诉我吗?
 
to 3cs
装个realplayer就可以了,import actviex ...就行了
 
后退
顶部