请问一下在mediaplayer中怎么实现左右声道,和音量条控制音量大小??在线等!~ 请问一下在mediaplayer中怎么实现左右声道,和音量条控制音量大小??在线等!~两个喇叭同时为左声道,或两个喇叭同时为右声道. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充:请问如何实现媒体文件在mediaplayer中的循环播放,分不够可以追加 我们俩个的问题是一样的!问题是如果左声道关了,那也就左边的音箱也就没有音了。如果能够做到。不管关闭任何一个声道要两个音箱一起响就会好一点!“MCI Command String总览—完全参数篇” 这篇文章对你有用。http://www.stvb.com/shownews.asp?NewsID=1864 在csdn中有一个源码是可以做到的。但是下载不到了! ms老大没有考虑到那么多问题,这个去掉了。可以通过解码驱动改变。建议不要装新的media player 而改用老的 通过升级插件来提升性能 左右声道用Balance 音量用value mediaplayer中的循环播放就判断播放结束时设时间等于0,再play()不就可以了吗 能给一个代码看一下!我有一点不相信。vars:MCI_DGV_SETAUDIO_PARMS;将左声道的声音在两个声道平衡播出:s.dwItem:=MCI_DGV_SETAUDIO_SOURCE;s.dwvalue:=MCI_DGV_SETAUDIO_SOURCE_LEFT;mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_SET_OFF,0);mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_DGV_SETAUDIO_ITEM or MCI_DGV_SETAUDIO_value,integer(@s));mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_SET_ON,0);这个是C的! 这个我不是很懂,我没有做过VOD我只是觉得这种技术可以,所以想知道而已。 这些问题其实也比较简单(当你明白原理后)先说说切换左右声道的问题: media player其实也具有切换左右声道的功能,但只能通过属性->高级->mpeg audio filter的方式来切换,但你无法在程序中调用,且只能用于VCD格式的文件,原因就在于,media player(媒体播放器)播放文件的原理是基于DirectShow技术的,在你选择打开一个文件时,媒体播放器会自己查找相应的解码器,然后组成播放链(具体过程在<DirectShow开发指南>中有较详细的论述(陆其明主编)http://hqtech.nease.net),以VCD文件为例:音频流经由Mpeg-1 audio filter解码后会直接送到声卡缓冲区(wave格式),这时在音频缓冲区中的音频格式左右声道为:aa bb cc dd这种形式,其中aa-左声道,bb-右声道,cc-左声道,dd-右声道这种格式。要想切换左右声道,需将它们分离开来,使两个声道都只使用一个声道的数据,这样声道就切换成功了。 要想实现这个功能,如果只播放VCD,你可直接调用mpeg-1 audio filter的切换功能,如果你还要播放其它格式的文件比如mp4,wmv,asf等,你就得用c++写一个filter,具体可参考<DirectShow开发指南>一书,然后写一个动态链接库(其实调用Mpeg-1 Audio Filter的切换声道功能也得写一个动态链接库,用VB好像不能直接调用控制),开放函数接口给VB调用。对于分屏显示技术: 以市场上软解压VOD技术为例:在计算机中需有一个双头显示功能的显卡(带S端子,或TV、视频等输出),在显示中如果设为左右延伸桌面的方式,屏幕的宽度就会是原来的两倍,相当于两个显示器宽度,在VB的Form中width属性是一个显示器的两倍,你在程序中,可将实际显示视频的窗口位置Form1.left属性设为0,而将控制窗口的Form2.left设置可用窗口宽度的一半即可。使用神龙卡需相应的sdk。另外,这种切换声道的方法不适合对DVD(Mpeg2)的解码输出。 用mediaplayer播放时,如果用MCI函数mciSendCommand将左声道的声音在两个声道平衡播出,那DeviceID该怎么取得?我用mciGetDeviceID取不出,返回的都是0 ByVal 与 ByRef求解 请问对电视卡可以控制吗? 最小化图标 好久没用VB,一点感觉都没了,请教文件复制操作,急,谢谢 spread问题(在线等) 谁有这么一个算法的源码? 开机—关机问题 为什么我的Win200下用VB6的ADODC控件不能连接SQL Server2000数据库,很急,谢谢了! 求调用CMD的问题 使用List控件和ADODC能不能实现多列,多行绑定。 rs.Delete时提示提示“查询过于复杂”怎么会事? VB VS VFP
问题是如果左声道关了,那也就左边的音箱也就没有音了。如果能够做到。不管关闭任何一个声道要两个音箱一起响就会好一点!
“MCI Command String总览—完全参数篇” 这篇文章对你有用。
http://www.stvb.com/shownews.asp?NewsID=1864
var
s:MCI_DGV_SETAUDIO_PARMS;
将左声道的声音在两个声道平衡播出:
s.dwItem:=MCI_DGV_SETAUDIO_SOURCE;
s.dwvalue:=MCI_DGV_SETAUDIO_SOURCE_LEFT;
mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_SET_OFF,0);
mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_DGV_SETAUDIO_ITEM or MCI_DGV_SETAUDIO_value,integer(@s));
mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_SET_ON,0);
这个是C的!
先说说切换左右声道的问题:
media player其实也具有切换左右声道的功能,但只能通过属性->高级->mpeg audio filter的方式来切换,但你无法在程序中调用,且只能用于VCD格式的文件,原因就在于,media player(媒体播放器)播放文件的原理是基于DirectShow技术的,在你选择打开一个文件时,媒体播放器会自己查找相应的解码器,然后组成播放链(具体过程在<DirectShow开发指南>中有较详细的论述(陆其明主编)http://hqtech.nease.net),以VCD文件为例:音频流经由Mpeg-1 audio filter解码后会直接送到声卡缓冲区(wave格式),这时在音频缓冲区中的音频格式左右声道为:aa bb cc dd这种形式,其中aa-左声道,bb-右声道,cc-左声道,dd-右声道这种格式。要想切换左右声道,需将它们分离开来,使两个声道都只使用一个声道的数据,这样声道就切换成功了。
要想实现这个功能,如果只播放VCD,你可直接调用mpeg-1 audio filter的切换功能,如果你还要播放其它格式的文件比如mp4,wmv,asf等,你就得用c++写一个filter,具体可参考<DirectShow开发指南>一书,然后写一个动态链接库(其实调用Mpeg-1 Audio Filter的切换声道功能也得写一个动态链接库,用VB好像不能直接调用控制),开放函数接口给VB调用。对于分屏显示技术:
以市场上软解压VOD技术为例:在计算机中需有一个双头显示功能的显卡(带S端子,或TV、视频等输出),在显示中如果设为左右延伸桌面的方式,屏幕的宽度就会是原来的两倍,相当于两个显示器宽度,在VB的Form中width属性是一个显示器的两倍,你在程序中,可将实际显示视频的窗口位置Form1.left属性设为0,而将控制窗口的Form2.left设置可用窗口宽度的一半即可。使用神龙卡需相应的sdk。
另外,这种切换声道的方法不适合对DVD(Mpeg2)的解码输出。