我目前使用Delphi XE6和Delphi Seattle:
我正忙着在Firemonkey上放一个需要播放声音文件的应用程序(mp3,wav等)。调整主音量是直截了当的,但似乎调整播放声音文件的从左到右的平衡不是。
这是我实现此专长的代码,但它在FMX中不受支持,因为它主要调用Windows API函数。任何人都可以帮助使用API函数来调用FMX平台吗?在这一点上,我希望至少支持Android设备。如果还有其他/替代代码(或带有替代代码的编译器指令设置)来覆盖iOS设备,那将非常感激。
非常感谢你!
这是我到目前为止所拥有的......
function GetWaveVolume(var LVol: DWORD; var RVol: DWORD): Boolean;
var
WaveOutCaps: TWAVEOUTCAPS;
Volume: DWORD;
begin
Result := False;
if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
begin
Result := WaveOutGetVolume(WAVE_MAPPER, @Volume) = MMSYSERR_NOERROR;
LVol := LoWord(Volume);
RVol := HiWord(Volume);
end;
end;
function SetWaveVolume(const AVolume: DWORD): Boolean;
var
WaveOutCaps: TWAVEOUTCAPS;
begin
Result := False;
if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
Result := WaveOutSetVolume(WAVE_MAPPER, AVolume) = MMSYSERR_NOERROR;
end;