PDA

View Full Version : سوال: ضبط صوت 16 بیت



mbshareat
چهارشنبه 18 بهمن 1391, 07:47 صبح
سلام
من میخوام با این کد صوت خروجی بلندگو رو 16 بیت ضبط کنم ولی 8 بیت ضبط میشه:

mciSendString('SET SoundMu ' +
'TIME FORMAT MS ' +
'BITSPERSAMPLE 16 ' +
'CHANNELS 1 ' +
'SAMPLESPERSEC 8192 ' +
'BYTESPERSEC 16384 '
,nil,0,handle);


کسی میتونه یه توضیح در این مورد بده؟ظاهرا SAMPLESPERSEC باید تعداد نمونه برداری در هر ثانیه باشه و
BITSPERSAMPLE تعداد بیت در هر نمونه (مثلا 16 میشه دو بایت) و تعداد نمونه ضرب در بایت در هر نمونه باید باشه. اما با کد بالا موفق نشدم.

mbshareat
چهارشنبه 18 بهمن 1391, 08:54 صبح
توی این لینک (http://www.delphipraxis.net/7803-sound-aufnehmen.html) یه چیزایی اومده.
این هم کد:

//کيفيت بالا
{mciSendString('SET mySound ' +
'TIME FORMAT MS ' +
'BITSPERSAMPLE 16 ' +
'CHANNELS 2 ' +
'SAMPLESPERSEC 44100 ' +
'BYTESPERSEC 176400 ' +
'ALIGNMENT 4',
nil,0,handle);}
//کيفيت پايين
mciSendString('SET mySound ' +
'TIME FORMAT MS ' +
'BITSPERSAMPLE 16 ' +
{Mono(1) oder Stereo (2)}
'CHANNELS 1 ' +
{800,11025,22050,44100}
'SAMPLESPERSEC 11025 ' +
{(BitsPerSample div 8)
*Channels*SamplesPerSec )}
'BYTESPERSEC 22050 ' +
{Channels*
(BitsPerSample div 8)}
'ALIGNMENT 2 ',
nil,0,handle);

من قبلا با برنامه Acoustica Premium Edition 4.1 صوت 8 بیت ضبط می کردم با ولوم صوت مشکل داشتم. صدا رو بلند تر از اونیکه می شنیدم ضبط می کرد بعد با همین برنامه 16 بیت ضبط کردم مشکل حل شد.
البته Wav فرمت حجیمیه بهتره مثلا با برنامه FairStars Audio Converter به WMA تبدیل کنیم!