iphone - 在后台模式下播放音频不起作用

标签 iphone audio background

在我的应用程序中,当我将我的应用程序置于后台模式时无法播放音频..我已经在该站点本身中看到了此类问题。

1)在app-info.plist中添加到后台模式“音频”
2)在代码中,我添加了对音频 session 的支持

  if([player isPlaying])
    {
        [player stop];
    }

        NSError *error=nil;
        int trackid=arc4random()%10+1;

        NSString *trackname=[NSString stringWithFormat:@"trk-%d",trackid];
    NSLog(@"%@",trackname);
        NSString *newAudioFile = [[NSBundle mainBundle] pathForResource:trackname ofType:@"mp3"];
        player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL  fileURLWithPath:newAudioFile] error:NULL];


        AVAudioSession *audioSession = [AVAudioSession sharedInstance];

      NSError *setCategoryError = nil;
      [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
         if (setCategoryError) { /* handle the error condition */ }

        NSError *activationError = nil;
         [audioSession setActive:YES error:&activationError];
         if (activationError) { /* handle the error condition */ }
        if(error) {
            NSLog(@"%@",&error);
        }
        [player prepareToPlay];
        [player play];
        player.numberOfLoops=1;

但是当我将应用程序置于backgroud模式时仍然无法正常工作。当我将应用程序放回原处时它又恢复了。我错过了什么吗?

最佳答案

在-(void)viewDidLoad中使用此行

[UIApplication sharedApplication].idleTimerDisabled = YES;

关于iphone - 在后台模式下播放音频不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491872/

相关文章:

iphone - 将我的 iOS 应用程序分发给测试人员的最佳方式?

iphone - 音频将在 iPhone 模拟器中播放,但不会在设备上播放

iPhone - 将应用程序发送到后台

iphone - iOS 在多任务栏和正在播放锁屏中显示歌曲元数据

javascript - 三.js设置背景图片

iphone - 报亭应用程序需要推送通知吗?

ios - 更改按钮 anchor SwiftUI

iphone - 格式化 NSDate 后,新日期比实际日期早一天

audio - Unity无法将声音输入检查器字段

python - 使用Python从音频文件中提取F0,抖动和微光