2011-02-14 9 views
6

Ses kartımızın farklı çıkış kanallarına ses yönlendirebilecek bir sistem oluşturmak için iş başında bir görevim var. 8 kanal çıkışı olan ve FireWire üzerinden bağlanan M-Audio ProFire 610 kullanıyoruz. Ayrıca, sunucu sunucu olarak bir Mac Mini kullanıyoruz ve Xcode'ta çalışacağım.M-Audio ProFire 610 üzerinden ses çıkışı

diagram http://img121.imageshack.us/img121/7865/diagramy.png

İlk başta Java sesi itmek mümkün olmadığını keşfettik Java ancak daha sonra bu proje için yeterli olacağı düşünülmektedir:

Bu

ben inşa ediyorum şeyin diyagramıdır Ses kartının varsayılan çıkış kanalları dışında C++ 'ya geçmeye karar verdim. Sorun şu ki bir web geliştiricisiyim ve bu dilde herhangi bir deneyimim yok - bu yüzden daha deneyimli geliştiricilerden yardım arıyorum.

ios4 için bir Core Audio Primer buldum, ancak projem için ne kadar kullanabileceğimi bilmiyorum. Ben de biraz kafa karıştırıcı buluyorum.

Bu ödevi tamamlamak için hangi adımları atmalıyım? Hangi çerçeveleri kullanmalıyım? Herhangi bir kod örneği? Bu projeyi tamamlamama yardımcı olacak herhangi bir yardım, ipucu ve ipucu arıyorum.

+1

+1, kendiniz yanıtlamaya çalıştığınızı gösteren dikkatli bir soru için. –

cevap

3

birincil API/elma tarafından sağlanan bir kod destek C++ olan CoreAudio/AudioHardware.h

örneklerin çoğu. Ancak, API'lar tamamen C (bu size yardımcı olup olmadığını bilmiyorum).

Bu doc ​​Donanım Soyutlama Katmanı (aka HAL), daha fazla ayrıntı erişmek istersiniz: $DEVELOPER_DIR/Extras/CoreAudio/

bkz (bir oldukça önemli miktarda) Ek numuneler/kullanım için

http://developer.apple.com/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioOverview.pdf

+0

Şimdi birkaç günlüğüne C++ ile çalıştım, nihayet Core Audio'nun örnek dosyalarında neler olduğunu anlayabiliyorum. Gerçekten güçlü bir kütüphane gibi görünüyor. Cevabınız için teşekkür ederim, çok yardımcı oldu. –

+0

@rkrv. Çok hoş geldiniz - yardımcı oldu sevindim. projenizde iyi şanslar! – justin

4

sadece ses geçişi, sen bakar ve (siz olarak ayarlayabilirsiniz tıpkı gerçek gibi çalışan bir yazılım ses cihazı oluşturur Jack gibi, zaten inşa edildi şeye bakmak isteyebilirsiniz arıyorsanız uygulamanız için varsayılan çıkış) ve daha sonra yönlendirmenize izin verir Her kanal istediğiniz her yerde (diğer uygulamalara dahil).

Eğer kendi başınıza bir şeyler yapmak istiyorsanız/ihtiyacınız varsa, C++ ile devam edin, bunun için çok fazla öğretici var (cplusplus.com'dan öğrendim). CoreAudio, Justin'in bahsettiği düşük seviyeli C/C++ arayüzüdür, ancak öğrenmesi ve kullanması gerçekten zordur. Mac uygulamasında biraz çalıştım, PortAudio tarafından çok daha basit bir API sağlanır. Orada öğreticiler bakın, varsayılan giriş ve çıkış için benzer bir şey yapmak ve daha sonra here açıklandığı kanal eşleme kullanımı PaMacCore_SetupChannelMap yapmak. Giriş akışı için bir kez ve çıkış akışı için bir kez iki kez aramanız gerekecek. Daha fazla öneriye ihtiyacınız varsa PortAudio için posta listesine katılın! İyi şanslar!

+0

PortAudio çok umut verici görünüyor. Çekirdek Audio'dan gerçekten daha basit ve dokümantasyon daha kapsamlı görünüyor. Eğitimlerini gözden geçireceğim ve bu API'yi projem için de kullanabilirim.Sorduğum soru, oluşturduğum tüm sistemin sadece küçük bir parçası, bu yüzden Jack'in yerine PortAudio kullanacağımı düşünüyorum, ki bu bana biraz kafa karıştırıcı geliyor. Ayrıca, kendi API uygulamalarınız üzerinde çalışmak her zaman daha eğlenceli, değil mi? Bahşişiniz için çok teşekkür ederim, çok yardımcı oldu. –