2008-09-15 12 views
6

WAV dosyalarını WMA'ya dönüştürmek için en iyi çözüm nedir (ve tersi) C#? Windows Media Kodlayıcısı SDK'sını kullanarak bunu zaten uygulamıştım, ancak Windows Media Encoder uygulamasını benim uygulamayla dağıtmak en azını söylemek zahmetli. Windows Media Format SDK'sında, kullanımdan kaldırılan olarak işaretlenmiş API'nın büyük bölümleri vardır. Windows SDK'dan kullanabileceğim bazı DirectX Medya Nesneleri (DMO'lar) olabilir gibi görünüyor, ancak yazmak için çok fazla enterrop var.WAV'i WMA'yı WMA kullanarak dönüştürme

Belki de dönüşümleri gerçekleştirebilen yönetilmeyen bir kitaplık için iyi yönetilen bir sarıcı olup olmadığını merak ediyorum. Kapalı kaynak bir ticari uygulamanın parçası olarak dağıtılmasına izin veren bir lisansa ihtiyaç duyacaktır.

+0

Wma'yı wav'a dönüştüren örnekleriniz var mı? Gördüğüm tüm örnekler sadece wma –

cevap

1

Ben şahsen hiç denemedim, ama senin gereksinimlerini karşılamak gerektiği gibi http://www.codeproject.com/KB/audio-video/WmaCompressor.aspx görünüyor Sen BASS library bakmak olabilir

+0

'a göre dalgalı oldu, sanırım şu an mevcut olan en umut verici çözüm bu. Aynı yazar, Windows Media Format SDK'sının C# bağlantı noktasını da yaptı. Tek endişem, kodun ticari bir projede kullanılıp kullanılamayacağı belli değil. –

1

... (Bu 'en iyi' çözüm ise çok emin değilim). Kodlama/kod çözme yapmak için BASSWMA ve BASSEnc gibi eklentilere sahiptir. Tüm API'larına BASS.Net sarıcısını kullanarak .NET'den erişilebilir.

Hem BASS hem de BASS.Net, ticari kullanım için makul bir ücretle (her biri 100 €) lisanslanabilir.

1

Birazdan C++/CLI yazmayı rahatlatıyorsanız, bunu yapmak için DirectShow'un etrafında bir sarıcı oluşturmak için fazla bir kod gerekmez. Bu daha sonra doğrudan birlikte bir karmaşaya ihtiyaç duymadan bir C# derlemesinden çağrılabilir. DirectShow ile yapmak doğrudan WMF'yi kullanmaktan çok daha kolaydır çünkü herhangi bir dosya ayrıştırma veya I/O yapmak zorunda kalmazsınız - hepsi sizin için yapılır. Referans olarak, bir WMA dosyasına/WMA dosyalarını 100'den az C++ kodla kodlayabilen/çözebilen bir ticari uygulamada, hepsi bir dost. Net sınıfına sarılmış kodum var. Akıllı işaretçilerin akıllıca kullanımı bu rotaya devam ederseniz yardımcı olur ...

0

www.mitov.com'a bakabilirsiniz. Orada yardımcı olabilecek bazı kütüphaneler var. Ticari bir üründe gönderilecek bir kopyasını satın almanız gerekecek, ama bence makul bir fiyat. Her şeyden

1

Öncelikle, şuna bak:

Sonra

http://windowsmedianet.sourceforge.net/

, IWMWritter için arama - ve onu başlatılıyor çeşitli yollar. Ham PCM verisini tedarik edecek ve wma dosyasını yazacaktır.

Bunun hakkında daha fazla bilgi için lütfen cevabımı etiketleyin.

İlgili konular