sajioo
یک شنبه 02 تیر 1392, 11:20 صبح
دوستان چندی پیش از طریق کد زیر صدای که از میکروفون دریافت می شد را ذخیره می کردم
برای دریافت صدا
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound', nil, 0, Handle);
mciSendString('SET mysound TIME FORMAT MS ' + // set time
'BITSPERSAMPLE 8 ' + // 8 Bit
'CHANNELS 1 ' + // MONO
'SAMPLESPERSEC 8000 ' + // 8 KHz
'BYTESPERSEC 8000', // 8000 Bytes/s
nil, 0, Handle);
mciSendString('RECORD mysound', nil, 0, Handle) ;
برای ذخیره سازی
mciSendString('STOP mysound', nil, 0, Handle);
verz:='c:/';
mciSendString(PChar('SAVE mysound ' + verz +'/test.wav'), nil, 0, Handle);
mciSendString('CLOSE mysound', nil, 0, Handle);
دقت کردم و متوجه شدم اگه متغییر verz اینطور مقدار دهی بشه
C:\Program Files (x86)\myprogram
باشه ذخیره سازی درست انجام نمیشه
و اگه برای مثال verz
ِِِD:\myprogram
باشه ذخیره سازی انجام میشه. شاید دلیلش دسترسی کامل نداشتن به درایو c از طریق برنامه باشه و شاید هم دلیل دیگه ی داره. به هر حال کسی میتونه راهنمایی کنه؟
برای دریافت صدا
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound', nil, 0, Handle);
mciSendString('SET mysound TIME FORMAT MS ' + // set time
'BITSPERSAMPLE 8 ' + // 8 Bit
'CHANNELS 1 ' + // MONO
'SAMPLESPERSEC 8000 ' + // 8 KHz
'BYTESPERSEC 8000', // 8000 Bytes/s
nil, 0, Handle);
mciSendString('RECORD mysound', nil, 0, Handle) ;
برای ذخیره سازی
mciSendString('STOP mysound', nil, 0, Handle);
verz:='c:/';
mciSendString(PChar('SAVE mysound ' + verz +'/test.wav'), nil, 0, Handle);
mciSendString('CLOSE mysound', nil, 0, Handle);
دقت کردم و متوجه شدم اگه متغییر verz اینطور مقدار دهی بشه
C:\Program Files (x86)\myprogram
باشه ذخیره سازی درست انجام نمیشه
و اگه برای مثال verz
ِِِD:\myprogram
باشه ذخیره سازی انجام میشه. شاید دلیلش دسترسی کامل نداشتن به درایو c از طریق برنامه باشه و شاید هم دلیل دیگه ی داره. به هر حال کسی میتونه راهنمایی کنه؟