কেবল আলোচনার খাতিরে, আমি JUCE থেকে অডিওসাম্পলবাফার নামে একটি ক্লাস আনব । এখন এই শ্রেণীর অডিওর স্নিপেট (বা সম্ভবত একটি দীর্ঘ স্নিপেট) ধারণ করার জন্য বিদ্যমান। এটি চ্যানেলের সংখ্যা জানে, নমুনার সংখ্যা (প্রতি চ্যানেল), একটি পরিবর্তনশীল সংখ্যার উপস্থাপনা বা শব্দযুক্তকরণের চেয়ে 32-বিট আইইইই ফ্লোটে প্রতিশ্রুতিবদ্ধ বলে মনে হয় (তবে এটি আমার কোনও সমস্যা নয়)। এমন সদস্য ফাংশন রয়েছে যা আপনাকে নির্দিষ্ট চ্যানেলে নামচেনেল বা নামসাম্পল এবং পয়েন্টার পেতে সহায়তা করে। আপনি একটি অডিওসাম্পলফারকে আরও দীর্ঘ বা সংক্ষিপ্ত করতে পারেন। আমি পূর্বের শূন্য-প্যাডগুলি বাফারটি অনুমান করি যখন উত্তরগুলি কাটা হয়।
এই শ্রেণীর কয়েকটি বেসরকারী সদস্য রয়েছেন যা JUCE যে বিশেষ গাদা ব্যবহার করে তা স্থান বরাদ্দ দেওয়ার জন্য ব্যবহৃত হয়।
তবে এটিই অডিওসাম্পলবার্লার অনুপস্থিত (এবং এটি সম্পর্কে জুলসের সাথে আমার বেশ কয়েকটি আলোচনা হয়েছে): একজন সদস্য ডেকেছিলেন SampleRate
। এটা কীভাবে মিস করা যায়?
একটি অডিওসাম্পলবাফার যে একক দায়িত্ব পালন করতে হবে তা হ'ল তার নমুনাগুলি প্রতিনিধিত্ব করে এমন শোনা যায় যে শারীরিক অডিওটি যথেষ্ট পরিমাণে উপস্থাপন করা। আপনি যখন কোনও সাউন্ডফিল পড়ে বা কোনও স্ট্রিম থেকে অডিওস্যাম্পলবাফার ইনপুট করেন, তখন একটি অতিরিক্ত প্যারামিটার থাকে যা আপনাকে অবশ্যই অডিওসম্পলবার্টের সাথে প্রক্রিয়াকরণ পদ্ধতিতে (এটি একটি ফিল্টার বলে) পাস করতে হবে যা নমুনা হার জানতে হবে বা, অবশেষে, একটি পদ্ধতি যে পালন করে বাফার আউট শোনা (অথবা অন্য কোনো স্থানে তা স্ট্রীম করে)। যাই হোক.
তবে আপনাকে যা করতে হবে তা হ'ল এই স্যাম্পলরেটটি চালিয়ে যাওয়া, যা সর্বত্র সর্বত্র অডিওসাম্পলবারে নির্দিষ্ট অডিওর অন্তর্নিহিত। আমি এমন কোড দেখেছি যেখানে একটি ক্রমাগত 44100.0f একটি ফাংশনে পাস করা হয়েছিল, কারণ প্রোগ্রামারটি অন্য কি করতে হবে বলে মনে হয় নি।
এটি তার একক দায়িত্ব পালনে ব্যর্থ হওয়ার উদাহরণ।