۱۳۹۴/۰۵/۱۸, ۱۰:۵۵ ب.ظ
(۱۳۹۴/۰۵/۱۲, ۱۲:۳۴ ب.ظ)'MATLAB' نوشته: سلام
با جستجویی که در سایت mathworks.com کردم نوشته بود که ، queueDuration یک پارامتری هست که میاد بر حسب زمان اندازه بلوک ها رو بصورت کلی مشخص میکنه که زیرش یک دیاگرامی هم کشیده بود که پیوست کردم همین طور مثالی از dsp.AudioPlayer System object را پیدا کردم میزارم شاید بهتون کمک کنه که میاد یک فایل صوتی avi رو پردازش میکنهموفق باشیدکد پیاچپی:AFR = dsp.AudioFileReader; % points to a default audio file
AP = dsp.AudioPlayer('SampleRate',AFR.SampleRate, ...
'QueueDuration',2, ...
'OutputNumUnderrunSamples',true);
while ~isDone(AFR)
audio = step(AFR);
nUnderrun = step(AP,audio);
if nUnderrun > 0
fprintf('Audio player queue underrun by %d samples.\n'...
,nUnderrun);
end
end
pause(AP.QueueDuration); % wait until audio is played to the end
release(AFR); % close the input file
release(AP); % close the audio output device
سلام ممنون از کمکتون مشکل اون حل شد
ولی الان یه مشکل دیگه دارم که چند وقته به شدت سرمو گرم کرده ولی نتیجه نمیده
من یه پردازش Realtime با استفاده از کارت صدا باید انجام بدم یعنی موج آنالوگ از طریق صدا دو کاناله دریافت میکنم و تحلیل و سپس با استفاده از imagesc شکل میکشم
من وقتی فایل را کامل ضبط میکنم و سپس پردازش میکنم همه چیز درسته ولی وقتی بلادرنگ میکنم و تعدادی فریم برمیدارم پردازش میکنم و دوباره مقداری دیگر برمیدارم
ولی اصلا نتایج یکسان نیست میشه کمکم کنین
ممنون