dvd格式控制原,伴音切换??可以吗?(100分)

  • 主题发起人 主题发起人 cbdiy
  • 开始时间 开始时间
C

cbdiy

Unregistered / Unconfirmed
GUEST, unregistred user!
dvd格式,,可以控制原,伴音切换吗?? (比如*.vob,*.mpg2等),dat格式是可以.
怎么实现??
 
灌水有分.
(免得这么冷清.)
 
可以实现,你是用软解压还是用硬解压,方式是不同的。
 
to:3cs
硬件采用神龙卡,
不过采用软解压我着更好.通用性好一些.
请问怎么实现??
 
to: cbdiy
你用过DSPACK 或者DIRECTSHOW吗?
 
今天用了一下,着得那东西好慢.而且控件不全.也就没用了.
就是想用上面两种方法实现.
 
老大们怎么不作声呢?
看来今晚又是失眠了.....55555555555555555~~~~
 
to: cbdiy
这种技术方面的东西,我们公司不允许随便透露,我只能告诉你,软解压用DIRECTSHOW来
作,实现你说的功能非常方便。我早就实现过了,可行性没有问题的。
 
非常感谢3cs的关注,
但不知硬件采用神龙卡:用如下
fmpset(kk,FMPI_AUD_BAL_L,0);
fmpset(kk,FMPI_AUD_BAL_R,0);
对mpg2格式怎么不行.
 
哈哈问题已解决.通过mci..........
 
用MCI命令就可以解决

//语言一
procedure languagefirst(deviceid:MCIDEVICEID);
var
s: MCI_DGV_SETAUDIO_PARMS
begin

s.dwValue:=1;
s.dwItem:=MCI_DGV_SETAUDIO_STREAM;
mciSendCommand(deviceid,MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM,
integer(@s));
end;


//语言二
procedure languagesecd(deviceid:MCIDEVICEID);
var
s: MCI_DGV_SETAUDIO_PARMS
begin

s.dwValue:=2;
s.dwItem:=MCI_DGV_SETAUDIO_STREAM;
mciSendCommand(deviceid,MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM,
integer(@s));
end;
 
如何知道 MCI_DGV_SETAUDIO_STREAM 常量的值??
 
to:cbdiy
MCI_DGV_SETAUDIO_STREAM指的应该是播放设备的句柄。
 
to cbdiy:
我前面看错了,MCI_DGV_SETAUDIO_STREAM好象应该是$0004004 or $0004003吧,记不太清了。
 
const
MCI_SETAUDIO=$873;
MCI_SETVIDEO=$876;
MCI_LIST =$878;
MCI_DGV_SETAUDIO_SOURCE_LEFT=1;
MCI_DGV_SETAUDIO_SOURCE_STEREO=0;
MCI_DGV_SETAUDIO_SOURCE_RIGHT=2;
MCI_DGV_SETAUDIO_VALUE=$1000000;
MCI_DGV_SETAUDIO_ITEM=$800000;
MCI_DGV_SETAUDIO_TREBLE=$4000;
MCI_DGV_SETAUDIO_BASS=$4001;
MCI_DGV_SETAUDIO_VOLUME=$4002;
MCI_DGV_SETAUDIO_STREAM=$4003;
MCI_DGV_SETAUDIO_SOURCE=$4004;
 
谢谢两位。。。。一个人搞太麻烦,什么都要知道。还好,有你们的支持。
不过我的已快告成。
 
to:houling
k:MCI_OVLY_WINDOW_PARMS;
begin

result :=255;
k.WHandle:=panel1.handle;
mciSendCommand(hStream,MCI_WINDOW,
mci_Wait or MCI_OVLY_WINDOW_HWND ,Longint(@k));

装了神龙卡后。如上命令,显示输出到panel控件上。可没有上面的代码play时则自动弹出
一个窗体显示。
1.我想不输出到panel,也没有自动弹出。怎么办啊??
等会再开贴给分。
 
如果是用mediaplayer播放,不管是软解压或硬解压,如不指定display属性的话,
一定会弹出一个播放窗口。
解决的方法有两种:
1,修改mplayer.pas,即mediaplayer的组件代码。去掉一段代码即可。但要细细看一遍。。比较麻烦。。
2.在form上放一个panel类的可视组件,然后在修改其属性,
left=-100;top:=-100;width:=1;height:=1.mediaplayer1.display:=panel1.
mediaplayer1.displayrect:=panel.clientrect即可.

但愿我的回答能对你有所帮助。。
 
To: All

MCI是什么?
谢谢
 
我自己压的MPEG4格式,那么请问用MediaPlayer控件怎么播放?
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
484
DelphiTeacher的专栏
D
后退
顶部