
نوشته شده توسط
abiriamir
با سلام
من قبلا کد زیر را راجع به ضبط صدا با دلفی از بچه های همین سایت گرفتم
وقتی با این ضبط میکنم یا با کامپوننت KDTele صدای یک نفر رو ضبط میکنم دیگه ویندوز مدیاپلیر بازش نمیکنه
سلام
احتمالاً این فایل رو فقط ویندوز مدیاپلیر پخش نمی کنه! چون من با winamp و jetaudio گوش کردم، این مشکل مطمئناً از هدر فایل ضبط شده است، که با توجه به انعطاف پذیر نبودن مدیاپلیر برای تصحیح خطای هدر از طریق این نرم افزار قابل پخش نیست ...
یه توضیحاتی در مورد فرمت فایل صوتی :
- ساده ترین فایل صوتی : 8 بیت alaw مونو است که همه چی بصورت صفر و یک بدون هیچ نوع انکودینگ ذخیره میشه؛ تمام فرکانسهای آنالوگ با sample rate 8 نمونه برداری میشه، هرچقدر این مقدار هر نمونه برداری بالاتر بره کیفیت بالاتر رفته و بالطبع حجم فایل (بدون انکودینگ) هم افزایش پیدا میکنه؛ یعنی یه چیزی مثل شکل زیر (اولی 8 بیت و دومی 16 بیت نمونه برداری میشن) :

- حالا نرم افزارهایی که قراره این فایل رو پخش کنند باید بدونن که فایل موردنظر با چه فرمتی دخیره و نمونه برداری شده، و WaveForm باید حتماً تعیین بشه، برای این منظور اولِ فایل موردنظر، مشخصات فایل ضبط شده قرار داده میشه.
- برای نمونه ای از سرآمد فایلهای صوتی، ساده ترین حالت رو درنظر میگیریم یعنی : فرمت PCM با Sample Rate هشت بیتیِ مونو؛ برای این فرمت به هدر 58 بایتی اول اطلاعات خامِ (صفر و یک های معادل آنالوگ) ضبط شده قرار میگیره که برای پلیر قابل فهم باشه (البته نرم افزارهایی مثل CoolEdit قادرند فقط با دادن مشخصات فایل خام یه هدر بافر کرده و به فایل اضافه و پخشش کنند)؛ 58 بایت سرآمد این فرمت (8 بیت مونو با Sample Rate 8) بصورت زیر است :
szHeader: Array[0..58-1] Of Byte = (
$52,$49,$46,$46,$24,$00,$00,$00,$57,$41,
$56,$45,$66,$6D,$74,$20,$12,$00,$00,$00,
$06,$00,$01,$00,$40,$1F,$00,$00,$40,$1F,
$00,$00,$01,$00,$08,$00,$00,$00,$66,$61,
$63,$74,$04,$00,$00,$00,$07,$1D,$00,$00,
$64,$61,$74,$61,$07,$1D,$00,$00);
شما میتونین برای امتحان مشخصات رو موقع ضبط به ساده ترین صورت (که ذکر شد) قرار بدین و هدر رو با این که بالا گذاشتم مقایسه کنید.
- اگه میخواین از هدر فایل مطمئن بشید، هدر هر دو تا فایل ضبط شده (اونی که پخش میشه و اون که مورد داره) رو با یه نرم افزاری که قابلیت باز کردن فایلهای باینری داره (مثل UltraEdit) باز کنید و هدرهاشون رو مقایسه کنید، اگه با یه ویرایشگر معمولی باز کنید (مثل نوت پد) یه شروعی مثل این دارن : RIFF„m WAVEfmt : حالا یه کم اینور اونور!
اگه مایل بودین ادامه میدیم ...