MTV中左、右声道的问题。(100分)

  • 主题发起人 主题发起人 victor
  • 开始时间 开始时间
V

victor

Unregistered / Unconfirmed
GUEST, unregistred user!
如何处理放VCD中左、右声道的问题,
比如说只要左声道的声音,或只放右声道的声音。

谢谢、
 
1.先定义快捷健静态处理左右声道.
2.编程时,发这样的key_down消息就可以动态处理左右声道了.
 
请问:
你作过处理左右声道的问题吗?
若有源码, 能否借鉴?

 
我没作过,但我想这个方法肯定行,效率怎么样不知道.
 
单独播放左或右声道应该是很简单的,
你现在的问题是不是同时播放的问题?
我不懂具体的理论,但是想当然地认为
应该是两各声道的信号叠加,如果结果
声音音量太大,就除以2好了
 
这是我的程序中的一个片段,用来设置和得到左右声道音量.

procedure TSrwVolume.SetVolume(left,right:integer);
var leftv,rightv:integer;
begin

leftv:=left;
rightv:=right;
mmsystem.waveOutSetVolume(0,leftv+rightv*65536);
end;



procedure TSrwVolume.GetLeftVolume;
var allvolume,leftv,rightv:integer;
begin

waveoutgetvolume(0,@allvolume);
leftv:=allvolume and $0ffff;
rightv:=(allvolume and $0ffff0000) div $10000;
FTempLeft:=leftv;
FTempRight:=rightv;
end;


procedure TSrwVolume.GetRightVolume;
var allvolume,leftv,rightv:integer;
begin

waveoutgetvolume(0,@allvolume);
leftv:=allvolume and $0ffff;
rightv:=(allvolume and $0ffff0000) div $10000;
FTempLeft:=leftv;
FTempRight:=rightv;
end;


 
呵呵, 不是这么简单的, 看过卡拉OK的碟没有, 双语的碟?
他们播放左声道和右声道内容不一样, 而不是仅仅没有声音那么简单.
 
我了来听听
 
效果似乎一样,
有时侯找不到vcd上的声道设置,就把其中一个喇叭音量设成0
 
用Mcisendstring("set left audio on")
好象简单些
 
不好意思,有些参数搞错了。mcisendstring("",,,)
 
mcisendstring不行!
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=192655
以前已经讨论多次了。
 
如果不是自己编写解码程序的话,左右声道问题根本不能解决!
 
多人接受答案了。
 
后退
顶部