2013-12-15 23 views
7

Uygulamamda, iPhone Bluetooth kulaklığa bağlıysa, sesi Bluetooth ile çalın. Else varsayılan hoparlör kullanın. Ben kategori setCategory kullanmaya çalıştımiOS 7 Bluetooth Çıkışı AVAudioSessionCategoryPlayAndRecord için çalışmıyor

Burada

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil]; 
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:nil]; 
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

Ancak benim kod: AVAudioSessionCategoryPlayAndRecord. Bluetooth cihazına giden rota çalışmayı durdurdu. Nedenini bilmiyorum. Ben SADECE (çıkış için bluetooth alabilir miyim: Çünkü hakla, bluetooth seçeneği yalnızca

AVAudioSessionCategoryRecord ve AVAudioSessionCategoryPlayAndRecord */

ilavesi ile/* geçerlidir

... Tutanak veya PlayAndRecord kategori için çalışmalıdır giriş hala telefondan varsayılan Mic kullanıyor)?

GÜNCELLEME

Ben setCategory ardından ilk setMode arayarak sipariş değiştirdi. Uygulamayı ilk kez çalıştırıyor (arama). Aynı işlemi tekrar yapmaya çalıştığımda, currentRoute hala bana çıkış = Bluetooth verdi ancak gerçek çıkış varsayılan telefonun ön hoparlörüne geri döndü.

+0

Bu, biraz farklı bir sorun üzerinde bana yardımcı oldu. Teşekkür ederim! – user3099609

+1

Sorunuz benim için bir cevap içeriyordu. Teşekkürler! – vahotm

cevap

2

Bu soruyu yayınladığımdan beri bir süredir var ve sorunun ne olduğunu unuttum. Doğru bir şekilde hatırlanırsam, çıktı yolunu yeniden yazmayı sürdüren bir başka kütüphaneden kaynaklanıyor. Bir şekilde onu tamir ettim ve istediğim gibi çalışmasını sağladım.

Kodu Jawbone'un AudioSessionManager lib dosyasına katkıda bulundum. Umarım yardımcı olur.