كمك كنيد - مي خوام صدا ضبط كنم

شروع موضوع توسط mrtkany ‏12 آگوست 2005 در انجمن Visual Basic 6

  1. mrtkany

    mrtkany کاربر تازه وارد

    تاریخ عضویت:
    ‏1 آگوست 2005
    نوشته ها:
    19
    تشکر شده:
    0
    كمك فوري مي خوام

    توي وي بي مي خوام يه برنامه بنويسم كه بشه به طور مثال با زدن يه كليد ؛ صدا را با يه پسوند خاص
    ( wave 8 KHz , 16 bit , 128 kbps , Mono )
    با اين مشخصاتي كه نوشتم ضبط كنه ؟؟؟
    :( چي كار كنم ؟؟؟
    كمكم كنيد لطفا ؟
    ممنونم :)
     
  2. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    از توابع mciSendString و mciSendCommand در API استفاده کن.
    راه ساده تر هم استفاده از کنترل Microsoft Multimedia Control هست. (component)
    ولی فکر کنم فقط با API بتونی فرمت دقیق رو تنظیم کنی. :cool:
     
  3. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    اين سورس:

    قسمت جنرال: Declarations
    کد:
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
    شروع ضبط:
    کد:
    Dim i As Integer
    i = mciSendString("close all", 0&, 0, 0)
    i = mciSendString("open new type waveaudio alias capture", 0&, 0, 0)
    
    'Channels are 1 (mono) or 2 (stereo)
    i = mciSendString("set capture channels 2", 0&, 0, 0) ' 2 channels for stereo
      
       'start at begining
    i = mciSendString("seek capture to start", 0&, 0, 0) 'Always start at the beginning
    
    '11025   low quality
    '22050   medium quality
    '44100 high quality (CD music quality)
    i = mciSendString("set capture samplespersec 44100", 0&, 0, 0) 'CD Quality
    
    'Bits per sample is 16 or 8
    i = mciSendString("set capture bitspersample 16", 0&, 0, 0)  '16 bits for better sound
    
    i = mciSendString("record capture", 0&, 0, 0)  'Start the recording

    پایان ضبط (استاپ):
    کد:
    Dim i As Integer
    i = mciSendString("stop capture", 0&, 0, 0)
    پخش صدا:
    کد:
    Dim i As Integer
    i = mciSendString("play capture from 0", 0&, 0, 0)
    ذخیره صدا:
    کد:
    Dim i As Integer
    dim filename$
    filename$="c:\test.wav"
    i = mciSendString("save capture " & """" & filename$ & """", 0&, 0, 0)
    شب بخیر! برو حالشو ببر :cool:
     
  4. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    حالا كار كرد يانه؟ پس چي بود نوشتي سريع ميخوام. ميخوام برم بخوابما؟
     
  5. mrtkany

    mrtkany کاربر تازه وارد

    تاریخ عضویت:
    ‏1 آگوست 2005
    نوشته ها:
    19
    تشکر شده:
    0
    mamnoonam dooste man

    thanks

    agemishe bishtar touzih bedid
    are???

    montazeram
     
  6. mrtkany

    mrtkany کاربر تازه وارد

    تاریخ عضویت:
    ‏1 آگوست 2005
    نوشته ها:
    19
    تشکر شده:
    0
    rastesh mikham ba oon pasvand va sharayety ke ghablan goftam seda ra zabt konam

    age mishe bishtar rahenameem konid .

    bye
     
  7. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    خواهش میکنم. چرا فارسی تایپ نمیکنی؟؟ فارسی را پاس بده. :blink:

    خوب هر قسمت از کد رو برای کلیک یک button بگذار، اسم مناسب هم برای دکمه بگذار. کد قسمت General Declaration هم که می دونی دیگه؟ بالای همه یه کدها بگذار.

    خطهای comment دار رو بخوان. برای مونو channels 2 رو بکن channels 1
    برای 16bit باید bitspersample 16 باشه که هست!
    برای 128 kbps هم نمیدونم! اینجا سه آپشن داری 11025, 22050, 44100 که الان samplespersec 44100 هست یعنی کیفیت CD، میتونی اونرو تغییر بدی.

    اینو بگم MP3 ضبط نمیکنه ها! فقط wav ضبط میکنه.

    توضیح بیشتر شرح بیشتر می طلبد! :happy:
     
  8. mrtkany

    mrtkany کاربر تازه وارد

    تاریخ عضویت:
    ‏1 آگوست 2005
    نوشته ها:
    19
    تشکر شده:
    0
    ميگما دستت درد نكنه اما
    چه جوري ميتونم صوت را با فركانس
    8Kh
    ضبط كنم؟؟؟
    :) :) :) :)
     
  9. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    بجاي 44100 بگذار 8192 شااايد كار كنه! ولي 11025 حتما كار ميكنه.

    خوش باشي!
     
  10. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,344
    تشکر شده:
    1,314
    محل سکونت:
    یه خورده اونورتر
    8KHz = 8 x 1024 = 8192
    بگذار بجاي samplespersec 44100 يعني samplespersec 8192 اگر هنگ نكرد يعني OK!
     
  11. dadashon

    dadashon Registered User

    تاریخ عضویت:
    ‏25 اکتبر 2003
    نوشته ها:
    119
    تشکر شده:
    0
    محل سکونت:
    اردبیل
    من یک کانورتورmp3 به wav لازم دارم. لطفا یک کامپوننت معرفی کنید.
     
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانیfootbal