Главная страница
    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.45 MB
Время: 0.012 c
3-43316
Ramdom
2004-02-17 13:55
2004.03.14
Не отображаются jpeg картинки в DBImage?


1-43597
Alex_DM
2004-02-27 09:46
2004.03.14
Исчезающая иконка


14-43892
vic_vm
2004-02-18 18:02
2004.03.14
Delphi и ISOLATION_AWARE_ENABLED


6-43716
Любитель
2004-01-06 12:58
2004.03.14
Загрузка CGI


14-43890
Думкин
2004-02-20 15:39
2004.03.14
С днем рождения! 20 февраля.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский