AudioUnitAddRenderNotify
aracılığıyla, ses çıkışını hoparlörlere gönderen aktif RemoteIO birimine bir geri dönüş geri çağrısı eklemek istiyorum. Gerçek RemoteIO örnek değişkenine erişimim yok, ancak uygulamada bir liste ses birimleri almak ve RemoteIO birimini bu şekilde bulmak istiyorum. Bu mümkün mü?Şu anda uygulamadaki tüm RemoteIO ses ünitelerini listelemek mümkün mü?
cevap
Eğer AUGraph
acces kazanabilir o zaman bu mümkündür. AUGraph documentation'a göre size yardımcı olacak birkaç yöntem var.
AUGraphGetNodeCount
- Eğer remoteIO birimini almak ve ekleyebilirsiniz doğru düğüm vardı sonra bir düğüm
hakkında bilgi almak için - bir grafik AUGraphGetIndNode
düğüm sayısını elde etmek için - bir endeksli düğümü AUGraphNodeInfo
olsun geri aramanız. AUGraph
'a erişim kazanmak aslında asıl sorun.
Güzel bahşiş, teşekkürler! Bu, muhtemelen herkesin cevabına yaklaştığı kadar yakın olacak – kevlar
Teşekkürler. AUGraph'a ulaşmanın bir yolunu buldunuz, nasıl yaptığınızı duymak isterim, izin verdiğine göre 'kutsal bir kefir'. Çıkışı kaydetmek veya fantastik olabilecek efektler eklemek için openAL'e erişim. –
Yalnızca bir RemoteIO var. Ben asla "yaratmak" için değilken bir işaretçi almaya çalıştım. Böyle bir şey denemek niye, bu RemoteIO size bir işaretçi almalısınız:
OSStatus status;
AudioComponentInstance audioUnit;
// Describe audio component
AudioComponentDescription desc;
desc.componentType = kAudioUnitType_Output;
desc.componentSubType = kAudioUnitSubType_RemoteIO;
desc.componentFlags = 0;
desc.componentFlagsMask = 0;
desc.componentManufacturer = kAudioUnitManufacturer_Apple;
// Get component
AudioComponent outputComponent = AudioComponentFindNext(NULL, &desc);
// Get audio units
status = AudioComponentInstanceNew(outputComponent, &audioUnit);
checkStatus(status);
Cevabınız için teşekkürler. Önerdiğiniz şeyi yapmak, bir RemoteIO ses ünitesinin * yeni * örneğini başlatacaktır. – kevlar
hmmm yea test ettikten sonra Daha önce bir tane yaratılmıştı. Bunu yapmak, tekrar yaratılan yumruğa bir işaretçi döndürmeyi umuyordum: Komik olan şey, sonuç kodunun 0 değerini döndürmesidir, ancak outInstance herhangi bir şeye işaret etmemekte, bu yüzden işe yaramaz. –
Aynı uygulamada çalışan birden fazla AUGraph olabileceğine eminim –
İlginç soru - Örnek değişkenine erişiminiz yok mu? Statik bir kütüphanede veya bir şeyde mi oluşturuluyor? –
Ayrıca bir çözüm bilmek de merak ediyor. Benim özel durumumda, Unity3d'nin erişemediğim temeldeki fmod uygulaması tarafından ele alınmaktadır. –
OpenAL'in çıktısını almaya çalışıyor musunuz? –