>> dspack声道比较难控制,
有那么困难吗?这个贴晃来晃去晃了N天了。
用DSPack还是简单的。
QueryInterface(IID_IBasicAudio, Obj);
//把Obj声明成IBasicAudio类型。
然后Obj.put_Balance(-10000) //右声道
Obj.put_Balance(10000) //左声道
Obj.put_Balance(0) //立体声
送佛送到西。再说说用FMP方式切换吧
begin
//当为0时,表示原唱(左声道有音,右声道静音)
//当为1时,表示伴唱(左声道静音,右声道有音)
if Value = 0 then
begin
Sett(FMPI_AUD_BAL_L, Makelong(1, 0));
Sett(FMPI_AUD_BAL_R, Makelong(0, 0));
end
else
begin
Sett(FMPI_AUD_BAL_L, Makelong(0, 0));
Sett(FMPI_AUD_BAL_R, Makelong(0, 1));
end;
end;
其中Sett是我写的一个Proc
function TBaseRealmagic.Sett(Index: WORD;
Value: DWORD): DWORD;
begin
Result := Command(FMP_SET, Index, Value);
end;