نمایش نتایج 1 تا 9 از 9

نام تاپیک: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

  1. #1
    کاربر تازه وارد آواتار diamond_guilan
    تاریخ عضویت
    آذر 1388
    محل زندگی
    رشت
    پست
    40

    Question (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    سلام و خسته نباشيد خدمت اساتيد محترم، وقت بخير
    من يه برنامه ساده ضبط صدا از ميكروفن نوشتم، از طريق مثالهايي كه تو همين سايت بوده.
    از دو كامپوننت 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 بود ميگم استپ كنه و ذخيره كنه

  2. #2

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    تو كامپيوتر مقصد پيام رو ميگيرم و اگه 1 بود ميگم شروع به ركورد كنه و اگه 2 بود ميگم استپ كنه و ذخيره كنه
    این کد مهمترین قسمت کده.
    اینو چی نوشتی؟


  3. #3
    کاربر تازه وارد آواتار diamond_guilan
    تاریخ عضویت
    آذر 1388
    محل زندگی
    رشت
    پست
    40

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)


    CommandText:=StrToInt(AThread.Connection.ReadLn()) ;
    case CommandText of
    1:
    BTN1.Click;
    2:
    BTN2.Click;
    end;

    اگه يك بود اون دستور اولي
    اگه دو بود دستور دومي

  4. #4
    کاربر تازه وارد آواتار diamond_guilan
    تاریخ عضویت
    آذر 1388
    محل زندگی
    رشت
    پست
    40

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    رويداد BTN1.ONclick

    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);




    رويداد BTN2.ONclick

    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);



  5. #5

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    CommandText:=StrToInt(AThread.Connection.ReadLn()) ;
    case CommandText of
    1:
    BTN1.Click;
    2:
    BTN2.Click;
    end;
    چنتا نکته :
    چون کامپوننت TCPServer برای هر کانکشن یه ترد میسازه ، شما نمیتونید به اشیا مین ترد در یه ترد جانبی دسترسی داشته باشید.
    بهتره با یه SendMessage این پیغام رو به فرم اصلی برنامتون بفرستید و با یه مسیج هندلر (WndProc) پیغام رو مورد بررسی قرار بدید.
    دوم اینکه روی اون سیستم کلاینتتون ، برید و ببینید به صورت لوکال این کار انجام میشه؟
    شاید میکروفون رو نمیشناسه.
    اولا از صحت شرایط رو کلاینت مطمئن بشید.


  6. #6
    کاربر تازه وارد آواتار diamond_guilan
    تاریخ عضویت
    آذر 1388
    محل زندگی
    رشت
    پست
    40

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    وقتي روي شروع ركورد كليك ميشه يه فرم ديگه ظاهر ميشه ميپرسه همين سيستم يا يه سيستم ديگه، اگه يه سيستم ديگه رو انتخاب كنه ip طرف رو ميده و ...
    رو همون سيستم كار ميكنه.

    چون کامپوننت TCPServer برای هر کانکشن یه ترد میسازه ، شما نمیتونید به اشیا مین ترد در یه ترد جانبی دسترسی داشته باشید.
    من با ترد اصلا كار نكردم و نميدونم چيه!!!
    امكانش هست يه منبع يا تاپيكي معرفي كنيد كه برم از توش مطالعه كنم.

  7. #7
    کاربر تازه وارد آواتار diamond_guilan
    تاریخ عضویت
    آذر 1388
    محل زندگی
    رشت
    پست
    40

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    امكانش هست با همين سورسهايي كه نوشتم ضبط صدا تو يه كامپيوتر ديگه شدني باشه؟
    تو لوكال درسته كار ميكنه كه!!!

  8. #8

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    امكانش هست با همين سورسهايي كه نوشتم ضبط صدا تو يه كامپيوتر ديگه شدني باشه؟
    بله شدنیه.
    تو لوكال درسته كار ميكنه كه!!!
    اینم بله .


  9. #9

    نقل قول: (ضبط نكردن صدا) (هنگامي كه بهش ميگيم اين كار رو تو كامپيوتري با اين IP اجرا كنه)

    کد رو دیباگ کن ، اگر در مورد دیباگ کردن اطلاعاتی نداری تو همین سایت و گوگل جستجو کن ، Remote Debuging هم میتونه برای تست در شبکه کمکت کنه :

    http://delphi.wikia.com/wiki/Remote_Debugger
    http://docwiki.embarcadero.com/RADSt...mote_Debugging

تاپیک های مشابه

  1. ضبط کردن صدا ( مشکل ایجاد شده )
    نوشته شده توسط seyedVB در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 28 تیر 1388, 18:47 عصر
  2. سوال: برنامه اي براي ضبط كردن صدا
    نوشته شده توسط karim orooji در بخش VB.NET
    پاسخ: 5
    آخرین پست: چهارشنبه 03 تیر 1388, 19:46 عصر
  3. سوال: ضبط كردن صدا
    نوشته شده توسط karim orooji در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 30 اردیبهشت 1388, 06:06 صبح
  4. سوال: ضبط کردنه صدا از Input
    نوشته شده توسط olkdg11 در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: دوشنبه 28 بهمن 1387, 09:20 صبح
  5. سوال: اين كار رو ميشه با ديتاليست يا گريد ويو انجام داد
    نوشته شده توسط mehdi_RM در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 17 مهر 1387, 13:59 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •