Как мне создать пустой wav-файл? Это просто пустой двоичный
файл?
The TMediaPlayer может открыть звуковой файл, если он содержит, по крайней
мере, один байт данных. Я обнаружил это, когда с помощью данного компонента
пытался создать и открыть звуковой файл, содержащий только заголовок звукового
файла. The TMediaplayer не захотел этого делать.
Нижеприведенный код создаст звуковой файл размером 1 байт. Конечно это криво,
но это работает. Вам необходимо лишь добавить MMSYSTEM ко всем модулям,
использующим данную функцию.
Как мне очистить содержимое Wav-файла? Просто заново создать
пустой?
Вот небольшой компонент, позволяющий стирать любую часть wave-файла:
unit Nickmp;
interfaceuses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, MPlayer, MMSystem;
type
TNickMediaPlayer = class(TMediaPlayer)
private{ Private declarations }protected{ Protected declarations }public{ Public declarations }function DeleteWaveChunk(aFrom, aTo: LongInt): Longint;
published{ Published declarations }end;
procedureRegister;
implementationprocedureRegister;
begin
RegisterComponents('Samples', [TNickMediaPlayer]);
end;
function TNickMediaPlayer.DeleteWaveChunk(aFrom, aTo: LongInt): Longint;
var
DeleteParms: TMCI_WAVE_DELETE_PARMS;
Flags: LongInt;
begin
Flags := 0;
if Wait then
Flags := mci_Wait;
if Notify then
Flags := Flags or mci_Notify;
DeleteParms.dwCallback := Handle;
Flags := Flags or mci_From;
DeleteParms.dwFrom := aFrom;
Flags := Flags or mci_To;
DeleteParms.dwTo := aTo;
Result := mciSendCommand(DeviceID, mci_Delete, Flags, Longint(@DeleteParms));
end;
end.
Создание пустого wav-файла - это процесс открытия звукового файла, записи в него одного бита данных и закрытия файла.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.