diamond_guilan
دوشنبه 23 بهمن 1391, 16:40 عصر
سلام و خسته نباشيد خدمت اساتيد محترم، وقت بخير
من يه برنامه ساده ضبط صدا از ميكروفن نوشتم، از طريق مثالهايي كه تو همين سايت بوده.
از دو كامپوننت TCPserver و TCPclient استفاده كردم، وقتي شروع ركورد رو ميزنيم ازمون يه IP ميگيره و از طريق TCPclient به اون كامپيوتر يه پيامي ميدم و كامپيوتر مقصد با ديدن اين پيغام شروع به ركورد كردن صدا ميكنه...
اما انگار كه نميكنه!!! چون وقتي به كامپيوتر مقصد دستور ذخيره رو ميدم توي مسير مورد نظرم پوشه رو ميسازه اما فايلي ذخيره نميكنه! تو ادامه سورس اين كار رو ميزارم، لطفا راهنمائيم كنيد، ممنون از لطفتون...
دستورات شروع به ركورد كردن صدا
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound', nil, 0, Handle);
mciSendString('SET mysound TIME FORMAT MS ' +
'BITSPERSAMPLE 8 ' +
'CHANNELS 1 ' +
'SAMPLESPERSEC 8000 ' +
'BYTESPERSEC 8000',
nil, 0, Handle);
mciSendString('RECORD mysound', nil, 0, Handle);
دستورات مربوط به ذخيره كردن
if not DirectoryExists('c:\SoundRecord') then
CreateDir('c:\SoundRecord');
textSave:='C:\SoundRecord\SoundRecord.wav';
mciSendString(PChar('SAVE mysound ' + textSave), nil, 0, Handle);
mciSendString('STOP mysound', nil, 0, Handle);
mciSendString('CLOSE mysound', nil, 0, Handle);
وقتي رو شروع به ركورد كليك ميكنيم
IdTCPClient1.Host:=ComputerForm.Edit1.Text;
IdTCPClient1.Port:=8344;
IdTCPClient1.Connect();
IdTCPClient1.WriteLn('1');
IdTCPClient1.Disconnect;
وقتي روي استپ كليك ميكنيم
IdTCPClient1.Host:=ComputerForm.Edit1.Text;
IdTCPClient1.Port:=8344;
IdTCPClient1.Connect();
IdTCPClient1.WriteLn('2');
IdTCPClient1.Disconnect;
تو كامپيوتر مقصد پيام رو ميگيرم و اگه 1 بود ميگم شروع به ركورد كنه و اگه 2 بود ميگم استپ كنه و ذخيره كنه
من يه برنامه ساده ضبط صدا از ميكروفن نوشتم، از طريق مثالهايي كه تو همين سايت بوده.
از دو كامپوننت TCPserver و TCPclient استفاده كردم، وقتي شروع ركورد رو ميزنيم ازمون يه IP ميگيره و از طريق TCPclient به اون كامپيوتر يه پيامي ميدم و كامپيوتر مقصد با ديدن اين پيغام شروع به ركورد كردن صدا ميكنه...
اما انگار كه نميكنه!!! چون وقتي به كامپيوتر مقصد دستور ذخيره رو ميدم توي مسير مورد نظرم پوشه رو ميسازه اما فايلي ذخيره نميكنه! تو ادامه سورس اين كار رو ميزارم، لطفا راهنمائيم كنيد، ممنون از لطفتون...
دستورات شروع به ركورد كردن صدا
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound', nil, 0, Handle);
mciSendString('SET mysound TIME FORMAT MS ' +
'BITSPERSAMPLE 8 ' +
'CHANNELS 1 ' +
'SAMPLESPERSEC 8000 ' +
'BYTESPERSEC 8000',
nil, 0, Handle);
mciSendString('RECORD mysound', nil, 0, Handle);
دستورات مربوط به ذخيره كردن
if not DirectoryExists('c:\SoundRecord') then
CreateDir('c:\SoundRecord');
textSave:='C:\SoundRecord\SoundRecord.wav';
mciSendString(PChar('SAVE mysound ' + textSave), nil, 0, Handle);
mciSendString('STOP mysound', nil, 0, Handle);
mciSendString('CLOSE mysound', nil, 0, Handle);
وقتي رو شروع به ركورد كليك ميكنيم
IdTCPClient1.Host:=ComputerForm.Edit1.Text;
IdTCPClient1.Port:=8344;
IdTCPClient1.Connect();
IdTCPClient1.WriteLn('1');
IdTCPClient1.Disconnect;
وقتي روي استپ كليك ميكنيم
IdTCPClient1.Host:=ComputerForm.Edit1.Text;
IdTCPClient1.Port:=8344;
IdTCPClient1.Connect();
IdTCPClient1.WriteLn('2');
IdTCPClient1.Disconnect;
تو كامپيوتر مقصد پيام رو ميگيرم و اگه 1 بود ميگم شروع به ركورد كنه و اگه 2 بود ميگم استپ كنه و ذخيره كنه