Главная страница
    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.014 c
14-43841
Igor_thief
2004-02-21 17:39
2004.03.14
Админам


8-43704
Lizard
2003-11-14 01:43
2004.03.14
Помогите зеленому.


3-43294
Noname
2004-02-12 09:26
2004.03.14
SQL приведение типов


3-43371
Денисыч
2004-02-15 01:06
2004.03.14
Какая технология доступа к данным лучше : BDE, ADO, dbExpress


14-43787
Undert
2004-02-18 17:15
2004.03.14
Подскажите пожалуйста





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