【发布时间】:2011-02-09 06:57:51
【问题描述】:
我得到以下代码:
- (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;
}
但不知何故声音不想从扬声器中出来,有人能看出我做错了吗?
我用来玩的代码是:
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFilePathURL error:nil];
[player prepareToPlay];
[player setVolume:1.0];
[player play];
【问题讨论】:
-
您的代码对我来说看起来是正确的(我使用的完全一样,并且可以正常工作)。也许只是检查没有错误返回而不是传递零。 NSError* 错误; [[AVAudioSession sharedInstance] setActive:YES error:&error];以确保您的音频会话正常。
标签: iphone avaudioplayer speaker