Как проигрывать два звука одновременно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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |