使用AVAudioPlayer播放的音频在iPhone模拟器中有效,但在设备中无效

时间:2012-06-28 08:32:06

标签: iphone ios audio avaudioplayer

我需要播放视频以及2秒的小音频播放。在iPhone模拟器中一切正常,但在设备中没有。我将我的音频文件存储在项目包中并从那里播放音频。

NSString *gotItsoundFilePath = [[NSBundle mainBundle] pathForResource:@"gotit" ofType:@"mp3"];
    NSData *gotItsampleData = [[NSData alloc] initWithContentsOfFile:gotItsoundFilePath];
    NSError *gotItaudioError = nil;
    gotItAudioPlayer = [[AVAudioPlayer alloc] initWithData:gotItsampleData error:&gotItaudioError];
    gotItAudioPlayer.numberOfLoops = 0;

当我使用[gotItAudioPlayer play];时,此代码在iPhone模拟器中正常工作,但相同的构建在设备中不起作用。我在某处做错了吗?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:5)

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: nil];

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

把这段代码。在制作玩家对象之前。