gpt4 book ai didi

ios - 暂停的音频开始在 applicationWillEnterForeground : 上自动播放

转载 作者:可可西里 更新时间:2023-11-01 03:58:20 24 4
gpt4 key购买 nike

applicationDidEnterBackground: 触发时,我暂停正在使用 AVAudioPlayer 播放的音频:

[self.avPlayer pause];

现在,当 applicationWillEnterForeground: 触发时,音频开始自动播放!由于我没有启动音频,用户界面没有更新,它显示音频仍处于暂停状态。

这是怎么回事?这发生在 iOS 6.x 的 iPad 2 上。这个问题不会在运行 iOS 5.x 的旧 iPad 上重现。

这就是我设置 AVAudioSession 的方式:

// Setup the audio session
BOOL succeeded = NO;
NSError *sessionError = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setDelegate:self];

if ([session respondsToSelector:@selector(setPreferredSampleRate:error:)]) {
succeeded = [session setPreferredSampleRate:128000.0f error:&sessionError];

} else {
succeeded = [session setPreferredHardwareSampleRate:128000.0f error:&sessionError];
}

succeeded = [session setCategory:AVAudioSessionCategorySoloAmbient error:&sessionError];
succeeded = [session setActive:YES error:&sessionError];

最佳答案

在我最近的一个应用程序中,我发现了一个类似的问题,即音频播放自动暂停并在您被通话打断后恢复,并且我的应用程序中的 GUI 未刷新。我已经使用以下方法解决了这个问题:

在处理播放器代码的类中注册

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

并使用AVAudioSessionaudioPlayerEndInterruption 委托(delegate)方法在应用程序恢复后获得控制权。在此功能中,您可以恢复播放并相应地更新 UI。

- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withOptions:(NSUInteger)flags

希望这对您有所帮助。

关于ios - 暂停的音频开始在 applicationWillEnterForeground : 上自动播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17526221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com