2010-12-08 23 views

cevap

46

AVAudioSession kategorisi AVAudioSessionCategoryPlayback'u kullanın ve uygulamanız Youtube uygulaması gibi dilsiz geçişi yoksayacaktır. (Yorumlarda Ken Pletzer esinlenerek) Örneğin

:

#import <AVFoundation/AVFoundation.h> 

// note: you also need to add AVfoundation.framework to your project's 
// list of linked frameworks 
NSError *error = nil; 
BOOL success = [[AVAudioSession sharedInstance] 
       setCategory:AVAudioSessionCategoryPlayback 
       error:&error]; 
if (!success) { 
    // Handle error here, as appropriate 
} 
Eğer AVFoundation sadece temsilci bu koymak aldıktan sonra
+0

Daha spesifik olarak NSError* error; [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &error]; if(error) { }

+0

Ayrıca AVFoundation framework ve #import eklemek gerekiyor "AVFoundation/AVAudioSession.h" –

+0

@KenPletzer Teşekkürler Ken, yorumunuzu takdir ediyorum. Kodunuza küçük bir ince ayar yaptım (hatanın varlığından ziyade başarı değerini kontrol edin) ve cevaba koydum. –

2
_player.useApplicationAudioSession = NO; 
+2

Bu, iOS6 – tassock

+0

itibariyle kullanımdan kaldırılmıştır. Property useApplicationAudioSession için başka bir alternatif var mı? Apple'ın useApplicationAudioSession için herhangi bir değiştirme özelliği olmadığını buldum :( –

1

:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback hatası : nil]; Swift içinde

1

: Gelecekte herkes için

do{ 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
} catch { 
    //Didn't work 
} 
1

(Başvurunuzun başında örneğin) ses/video oynatmak önce bir kez, ben bu zaten yanıtlandı biliyorum ama vardı bunu yapın bu yüzden bu kullanarak biten, bu ses var oynatmayı durdurmak için vs. Spotify, youtube gibi uygulamaları neden benim app bir video oynatırken bir sorun:

NSError *silentSwitcherror = nil; 
BOOL silentSwitchSuccess = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&silentSwitcherror]; 
if (silentSwitchSuccess) 
{ 
//put whatever video code you are trying to play 
} 
else 
{ 
//put how to handle failed instances. 
} 
İlgili konular