سؤال

ما هو الحل الأفضل لتحويل ملفات WAV إلى WMA (والعكس) في C#؟لقد قمت بالفعل بتنفيذ هذا مرة واحدة باستخدام Windows Media Encoder SDK، ولكن الاضطرار إلى توزيع Windows Media Encoder مع تطبيقي أمر مرهق على أقل تقدير.يحتوي Windows Media Format SDK على أقسام كبيرة من واجهة برمجة التطبيقات (API) التي تم وضع علامة عليها على أنها مهملة.يبدو أنه قد تكون هناك بعض كائنات وسائط DirectX (DMO) التي يمكنني استخدامها من Windows SDK، ولكن سيكون هناك قدر كبير جدًا من التشغيل المتداخل للكتابة.

أتساءل عما إذا كان هناك غلاف مُدار جيد لمكتبة غير مُدارة يمكنها إجراء التحويلات.سيحتاج إلى ترخيص يسمح بتوزيعه كجزء من تطبيق تجاري مغلق المصدر.

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

المحلول

لم أجربه شخصيًا (لذلك لست متأكدًا مما إذا كان هذا هو الحل "الأفضل")، ولكن http://www.codeproject.com/KB/audio-video/WmaCompressor.aspx يبدو أنه يجب أن يلبي متطلباتك ...

نصائح أخرى

يمكنك إلقاء نظرة على مكتبة باس.يحتوي على إضافات مثل BASSWMA و BASSEnc للقيام بالتشفير/فك التشفير.يمكن الوصول إلى جميع واجهات برمجة التطبيقات (API) الخاصة بها من .NET باستخدام باس.نت غلاف.

يمكن ترخيص كل من BASS وBASS.Net للاستخدام التجاري، مقابل رسوم معقولة (100 يورو لكل منهما).

إذا كنت مرتاحًا لكتابة القليل من C++/CLI، فلن تحتاج إلى الكثير من التعليمات البرمجية لإنشاء غلاف حول DirectShow للقيام بذلك.ويمكن بعد ذلك استدعاء ذلك مباشرةً من مجموعة C# دون الحاجة إلى العبث بالتشغيل المتداخل.يعد القيام بذلك باستخدام DirectShow أسهل بكثير من استخدام WMF مباشرة لأنه لا يتعين عليك إجراء أي تحليل للملفات أو الإدخال/الإخراج - فكل ذلك يتم من أجلك.كمرجع، لدي كود في تطبيق تجاري يمكنه تشفير/فك تشفير WMA إلى/من ملفات WAV في أقل من 100 سطر من C++، وكلها ملفوفة في فئة .Net سهلة الاستخدام.الاستخدام الحكيم للمؤشرات الذكية يساعدك إذا سلكت هذا الطريق...

أولا وقبل كل شيء، انظر إلى هذا:

http://windowsmedianet.sourceforge.net/

ثم ابحث عن IWMWritter - وطرق مختلفة لتهيئته.سوف تقوم بتزويد بيانات PCM الأولية، وسوف تقوم بكتابة ملف wma.

ضع علامة على إجابتي من فضلك لمزيد من المعلومات حول هذا الموضوع.

قد تنظر إلى www.mitov.com.هناك بعض المكتبات هناك التي قد تساعد.أعتقد أنك ستحتاج إلى شراء نسخة لشحن منتج تجاري، ولكن أعتقد أنه سعر معقول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top