Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Вниз

Запись звука с линейного входа в 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 вся ветка

Форум: "Media";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
1-43580
tararasyk
2004-02-27 14:32
2004.03.14
Как нарисовать перпендикуляр ?


3-43301
3APA3A
2004-02-11 11:38
2004.03.14
приведение типов в SQL


1-43477
Yuri Btr
2004-02-29 14:44
2004.03.14
Глюк Label и ScrollBox


6-43740
Pohil
2004-01-04 22:18
2004.03.14
Как мне определить все забитые IP в сети


3-43368
dimidrol7
2004-02-15 16:28
2004.03.14
Выделение цветом части записи в DBGRID





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский