سؤال

هل يعرف أي شخص كيفية دفق ملفات OGG دون تنزيلها بالكامل أولاً على مأخذ توصيل (بتنسيق بايت []).

أحاول إنشاء تطبيق لتدفق الموسيقى وتمكنت من القيام بذلك مع MP3 ولكني أفهم أن هناك مشكلات ترخيص تم استنشاقها بعد حد معين وبالتالي لماذا أرغب في استخدام OGG (Vorbis). أنا مانعة لأجد هذا c# vorbis wrapper لكن لا يوجد وثائق ، ولا يمكنني معرفة كيفية الحصول على دفق بايت [] للعب.

لقد جربت ما يلي

        var rawData = File.ReadAllBytes(@"SoundFile.ogg");
        var enc = new OggVorbisEncodedStream(rawData);
        var sp = new SoundPlayer(enc);
        sp.Play();

ولكن يتم طرح استثناء يوضح أن رأس ملف WAV غير صحيح. أفهم أن soundplayer يستخدم فقط للتشغيل. wav ملفات؟ هل يعرف أي شخص كيفية دفق ملف OGG؟

هل كانت مفيدة؟

المحلول

الغلاف رفيع للغاية ، ويطلق مباشرة وظائف برنامج ترميز OGG الأصلي. ابحث عن مستندات OV_Read لمعرفة ما تعود إليه من OggvorBisenCodedStream.read (). سيكون PCM الخام تخميني. الغلاف لا يحاول أي نوع من تحويل التنسيق.

نعم ، لن يعمل جهاز SoundPlayer هنا ، فهو يتطلب WAV ولا يمكن بثه. ستحتاج إلى لاعب يمكنه أخذ أجزاء من PCM كمدخل. لست متأكدا ماذا يفعل ذلك ، مشروع ناوديو عادة ما يكون جيدا لأشياء مثل هذا.

نصائح أخرى

string filePath = "License.lic";

using (var stream = new StreamReader(filePath))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top