如何实现DVD左右声道的控制 用代码
如何实现DVD左右声道的控制 但是不能用神龙卡 我想用delphi 代码来实现它的功能 各位大虾能否帮忙
急 急
问题点数:50、回复次数:19Top
1 楼extcsdn(Studing VB now)回复于 2004-09-03 12:14:24 得分 0
dvd的声道切换比较难搞,因为它不止两个声道啊。关注!!Top
2 楼whitetiger8(键盘未敲坏,基本功未练成)回复于 2004-09-03 12:19:43 得分 0
不懂不懂,关注Top
3 楼xiaoxiao586(小小)回复于 2004-09-07 10:56:46 得分 0
大家帮帮忙吧 这个问题已经困饶了我好些天了 我也知道DVD 不只是声道的问题 还有很多希望指点Top
4 楼lynmison(菻梓)回复于 2004-09-08 10:52:18 得分 20
我也在编写这方面的东西,我是用卡本身提供的SDK,希望共同研究。
一下是转载代码,你可以试试。
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;
如果用卡的SDK,你是如何控制DVD的左右声道呢?VCD的我已经解决了,DVD我的思路是先选择轨道,然后再设置其左右声,不知道是否正确?
我的email: lynmison@vip.sina.comTop
5 楼xiaoxiao586(小小)回复于 2004-09-15 16:43:26 得分 0
你用的是神龙卡吗?我说不用那个东西呀!
还望指教
Top
6 楼lynmison(菻梓)回复于 2004-09-17 08:48:57 得分 0
我用的是神龙卡,此问题我接本已经解决,我现在可以实现VCD和DVD两种格式的声道切换。只是还没有去弄清楚具体每个声道置的内容。
DVD的我用以下方法:
const
DRV_USER = $4000;
FMP_GROUP= $08;
FMPF_SELECT=$0004;
FMPF_INDEX =$0020;
SendDriverMessage(DrvID, DRV_USER+1, MAKELPARAM(MAKEWORD(Command,hMPEGStream),Flags), Value);
选择轨道index(1~3):
SendDriverMessage(DrvID, DRV_USER+1, MAKELPARAM(MAKEWORD(FMP_GROUP,hMPEGStream),FMPF_SELECT or FMPF_INDEX), index);
你可以试试index值不同,输出的音效。
我想,不管用什么卡,应该都支持MCI的。所以以上的方法应该可以使用于所有遵循MCI标准的解压卡。Top
7 楼CDSoftwareWj(95927)回复于 2004-09-19 11:06:17 得分 10
to
lynmison(菻梓)
LRC(Str: String); ?? hehe^^ 这个代码是我的写地....
用卡的SDK很简单,但直接用 MCI 支持吗??!Top
8 楼lynmison(菻梓)回复于 2004-09-19 21:49:35 得分 0
to CDSoftwareWj(95927):很荣幸看到你冒出来 :)
用卡的sdk用FMPGroup可以解决,是挺简单的。
用MCI我还没有去试,这几天卡被朋友拿走,不过我想应该是可以的?!
不过有个怪问题:FMPGroup返回的值老是 0xFFFFFFFF,其他事情忙完了,会有个彻底的了断。Top
9 楼extcsdn(Studing VB now)回复于 2004-09-20 14:07:32 得分 0
不用卡可能就不是那么简单了吧!!??Top
10 楼CDSoftwareWj(95927)回复于 2004-09-20 15:42:15 得分 0
hehe^^Top
11 楼fxywkj(www.wolfteam.cn技术的路途是孤独、寂寞的,找个路人一起走也许会好点)回复于 2004-09-20 17:12:32 得分 0
学习Top
12 楼xiaoxiao586(小小)回复于 2004-09-25 10:19:43 得分 0
谢谢大家的帮忙 但是我还是没有解决呀 你们都在讨论用神龙卡 而我们要求不用那个卡
来实现 VCD的我已经 实现了 就差DVD了 因为DVD 不是一个声道 而是用声轨来区分的
所以还望大家继续帮忙Top
13 楼extcsdn(Studing VB now)回复于 2004-09-27 20:27:39 得分 0
希望渺茫啊!顶!Top
14 楼qyjiswgog(亚军)回复于 2004-09-27 21:01:31 得分 0
我不会,帮人顶吧Top
15 楼skynew2004(总想让别人帮我一下。skynew.ys168.com)回复于 2004-10-04 09:22:20 得分 10
能否将VCD的声道控制贴上,
我也在做点歌系统。(不用卡)
一起学习。
http://community.csdn.net/Expert/topic/3399/3399606.xml?temp=.6654474Top
16 楼xiaoxiao586(小小)回复于 2004-10-04 13:58:36 得分 0
to CDSoftwareWj(95927):老兄,听说你是这方面的高手给点意见吧 我想
在不用神龙卡的情况下播放DVD这点已经实现了 我现在想区分它的原伴唱问题
你能否帮助一下 给看看 先谢过了Top
17 楼skynew2004(总想让别人帮我一下。skynew.ys168.com)回复于 2004-10-12 21:18:28 得分 0
看一看我的网站
skynew.ys168.comTop
18 楼CDSoftwareWj(95927)回复于 2004-10-13 11:46:02 得分 10
我可不是什么高手,我当时用卡做的,不用卡的我不会 ^^!Top
19 楼YaoKuiVcl(开心每一天)回复于 2005-01-10 08:34:58 得分 0
upTop




