![]() |
![]() ![]() ![]() ![]() |
|
Как проигрывать два звука одновременноDelphi , Мультимедиа , АудиоАвтор: http://www.swissdelphicenter.ch
uses
MMSystem;
procedure SendMCICommand(Cmd: string);
var
RetVal: Integer;
ErrMsg: array[0..254] of char;
begin
RetVal := mciSendString(PChar(Cmd), nil, 0, 0);
if RetVal <> 0 then
begin
{get message for returned value}
mciGetErrorString(RetVal, ErrMsg, 255);
MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMCICommand('open waveaudio shareable');
SendMCICommand('play "C:\xyz\BackgroundMusic.wav"');
SendMCICommand('play "C:\xyz\AnotherMusic.wav"');
SendMCICommand('close waveaudio');
end;
Here's the translation of the provided text into Russian: Код, написанный на Delphi, использует модуль MMSystem для одновременного воспроизведения двух аудиофайлов с помощью интерфейса управления медиа (MCI). Вот разбивка того, что код делает:
Проблема с этим кодом в том, что он пытается открыть и воспроизвести два отдельных аудиофайла, но не указывает, как они должны быть воспроизведены одновременно. Один из способов достичь этого - это открыть один аудиофайл, содержащий оба звука, или создать новый аудиофайл, комбинирующий два звука. Однако, если вы хотите воспроизвести их отдельно без смешивания в один файл, вам нужно будет найти более сложное решение. Вот пример, как можно модифицировать обработчик события
В этом модифицированном коде оба аудиофайла устанавливаются на бесконечное воспроизведение с помощью команды Обратите внимание, что это подход может не работать идеально в зависимости от вашего конкретного требования и характеристик аудиофайлов, которые вы используете. Например, если один звук длиннее другого, он может быть обрезан до конца. В таких случаях вам может потребоваться более сложное решение с использованием библиотеки или фреймворка, поддерживающего многопоточность, обработку аудио и синхронизацию. В статье описывается способ проигрывать два звука одновременно с помощью языка программирования Delphi и библиотеки MMSystem. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||