Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Запись звука с линейного входа в wav файл   Найти похожие ветки 

 
tse   (2003-11-09 00:07) [0]

Подскажите как можно записать звук через линейный вход в wav файл средствами Delphi. Это необходимо для jhufybpfwbb хранения архивом звуковой информации.
Спасибо.


 
Dmitry   (2003-11-09 09:37) [1]

1. Кинь на форму MediaPlayer (вкладка "System")

2. Создай пустой wav-файл:

function CreateNewWave(NewFileName: string): Boolean;
var
DeviceID: Word;
Return: LongInt;
MciOpen: TMCI_Open_Parms;
MciRecord: TMCI_Record_Parms;
MciPlay: TMCI_Play_Parms;
MciSave: TMCI_SaveParms;
MCIResult: LongInt;
Flags: Word;
TempFileName: array[0..255] of char;
begin
if FileExists(NewFileName) then DeleteFile(NewFileName);
MediaPlayer1.Close;

StrPCopy(TempFileName, NewFileName);
MciOpen.lpstrDeviceType := "waveaudio";
MciOpen.lpstrElementName := "";
Flags := Mci_Open_Element or Mci_Open_Type;
MCIResult := MciSendCommand(0, MCI_OPEN, Flags, LongInt(@MciOpen));

DeviceID := MciOpen.wDeviceId;

MciRecord.dwTo := 1;
Flags := Mci_To or Mci_Wait;
MCIResult := MciSendCommand(DeviceID, Mci_Record, Flags, LongInt(@MciRecord));

mciPlay.dwFrom := 0;
Flags := Mci_From or Mci_Wait;
MciSendCommand(DeviceId, Mci_Play, Flags, LongInt(@MciPlay));

mciSave.lpfileName := TempFilename;
Flags := MCI_Save_File or Mci_Wait;
MCIResult := MciSendCommand(DeviceID, MCI_Save, Flags, LongInt(@MciSave));

Result := MciSendCommand(DeviceID, Mci_Close, 0, LongInt(nil)) = 0;
end;


3. Запиши звук с линейного входа:

CreateNewWave("c:\temp.wav");
MediaPlayer1.FileName:="c:\temp.wav";
MediaPlayer1.Open;
MediaPlayer1.Wait:=False;
MediaPlayer1.StartRecording;


4. Сохрани файл:

MediaPlayer1.Stop;
MediaPlayer1.FileName:="c:\mysoundfile.wav";
MediaPlayer1.Save;


 
tse   (2003-11-09 14:27) [2]

Спасибо Dmitry - записать звук получилось, только уровень звука почти на нуле и качество оставляет желать лучшего(хотя чувствительность линейного входа на максимуме). В программе CoolEdit запись того же сигнала происходит с гораздо большим уровнем и качеством. Может подскажешь как этого добиться?


 
savva ©   (2003-11-11 08:58) [3]

два пути:
1) http://www.torry.net/audio.htm
2) http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_audio_compression_manager.asp


 
Александр П   (2003-11-12 03:37) [4]

На мой взгляд, наилучшее решение - сходить на un4seen.com
(сайт известной библиотеки для работы со звуком BASS) и
выгрести оттуда всё что можно (все библиотеки freeware),
получишь и готовый пример как "налету" записать звук не
только в WAV, но и в OGG и MP3. Рекомендую.



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
3-43316
Ramdom
2004-02-17 13:55
2004.03.14
Не отображаются jpeg картинки в DBImage?


1-43586
sig22
2004-02-27 14:22
2004.03.14
Декомпиляция


8-43695
Sceleton
2003-11-10 08:07
2004.03.14
Как дать имя хранителю экрана.


1-43514
satron
2004-02-28 20:56
2004.03.14
Как


3-43375
Санек
2004-02-13 18:16
2004.03.14
Теория коннекта