ho ottenuto il seguente codice:AVAudioPlayer tramite altoparlanti
- (id)init {
if (self = [super init]) {
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
}
return self;
}
Ma in qualche modo il suono non vuole uscire dagli altoparlanti, qualcuno può vedere quello che sto facendo male?
Il codice che uso per il gioco è:
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFilePathURL error:nil];
[player prepareToPlay];
[player setVolume:1.0];
[player play];
il codice sia corretto per me (io sono usando abbastanza lo stesso e funziona). forse basta controllare che non venga restituito alcun errore invece di passare nil. Errore NSError *; [[AVAudioSession sharedInstance] setActive: YES error: & error]; per assicurarti che la tua sessione audio sia a posto. – yonel