 |
操作系统: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。
|
| |
|
| |
|
| |
|
|