软件注册站
热情软件屋

 
DVD解压卡如何能在播放的过程中实现左右声道及立体声选择
编号: QA004220    
建立日期: 2001年5月28日 最后修改日期: 2004年2月29日
所属类别: C/C++ - 多媒体

Delphi - 多媒体
   
    操作系统:WIN
    编程工具:DELPHI 5.0 或 C++ Builder
    问题:
    请问如何调用 Mcisendstring 函数去指定一DVD解压卡工作,使其能在播放的过程中实现左右声道及立体声选择?DVD的文件为 VOB文件,那么该格式文件该定义为何种类型?在安装好DVD卡驱动程序后(不用装该DVD卡的播放器),发现旧版本的 MPLAYER 可以在“设备”选项里面调用该DVD卡播放DVD,但不能选择左右声道或立体声。所以在此想请教一下,如何才能实现我上面提到的功能?开发平台:DELPHI 5.0 或 C++ Builder (两种环境都试过)
    水平: 刚入门(echo)
   
    陈祖毅的意见:
    DVD是分音频流的,不是只是左右声道这么简单,所以DVD就有多语言配音,而VCD没有!
    每个音频流又有自己的左右声道,而每种解压卡的驱动提供的SDK都不一样,请问你是用哪种卡的?
    我开发过神龙III的解压卡,如果你是用这种卡的,可以跟我联系!
    
    刘睿的意见:
    如果你用的是神龙卡和好莱坞卡,可以试试三陀工作室(http://stgzs.myetang.com)的VOD控件。
    
    damo的意见:
    1、vod其实是由多个文件组成的,如果想播放单个的音乐文件,要用程序将其分解成单个的文件。
    2、切换左右声道可以用api函数完成。
    3、据我一个做vod程序的程序员朋友说,dvd卡给程序员提供有专用的函数用来完成左右声道切换。因为我用的是VB,也没用过dvd卡,所以具体的不知道。
    
    沈原的意见:
    '设置声道
    
'======================================================
    
Public Function SetAudioSource(sAudioSource As AudioSource) As Boolean
    
Dim RefInt As Long
    
Dim strSource As String
    
Select Case sAudioSource
    
Case 1: strSource = "left"
    
Case 2: strSource = "right"
    
Case 0: strSource = "stereo"
    
End Select
    
SetAudioSource = False
    
RefInt = mciSendString("setaudio NOWMUSIC source to " & strSource, vbNull, 0, 0)
    
If RefInt = 0 Then SetAudioSource = True
    
End Function
    
    
以上就是用MCISENDSTRING来完成左右声道切换的方法。
    至于DVD切换的是音轨,和声道是两个概念,用MCISENDSTRING不能实现切换音轨。
    至于REALMAGIC卡的开发包网上有下载的,有WINDOWS的也有LINUX的。如果找不到,我可以免费送给各位。
    
    相关问题:
    QA003157 "如何控制录制的WAV文件格式,如频率,位,单声道等"

    

此问题由damo等回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Delphi, VCL, Borland, 多媒体, multimedia, mdi, wav, mp3, rm

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio