CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  GAME,图形处理/多媒体

如何实现DVD左右声道的控制 用代码

楼主xiaoxiao586(小小)2004-09-03 09:59:23 在 Delphi / GAME,图形处理/多媒体 提问

如何实现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

相关问题

  • 声道的控制?
  • 关于声道控制
  • 关于声道控制
  • 怎么样来控制声道,如左声道,右声道,立体声?
  • 关于代码控制.
  • 在.cs代码中控制页面html代码.
  • 怎样控制IDE代码编辑器
  • 如何用代码控制CSpliderCtrl?
  • 请问如何用代码控制TabStrip???
  • 开放远程控制代码

关键词

  • dvd
  • 代码
  • sdk
  • 控制
  • vcd
  • 解决
  • setaudio
  • mci
  • 声道
  • dgv

得分解答快速导航

  • 帖主:xiaoxiao586
  • lynmison
  • CDSoftwareWj
  • skynew2004
  • CDSoftwareWj

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo