gpt4 book ai didi

ios - 当应用程序进入后台时 AVAudioPlayer 不播放

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:14 25 4
gpt4 key购买 nike

我正在试用 AVFoundationFramework

目前我可以在前台运行AVAudioPlayer。当应用进入后台时,AVAudioPlayer 不会继续播放。

具体实现步骤是:

  1. 将后台任务添加到 .plist

    enter image description here

  2. 设置AVAudioPlayer

    self.objAVAudioPlayer = [[AVAudioPlayer alloc]initWithData:mp3Data error:&error];
    self.objAVAudioPlayer.delegate = self;
  3. 设置AVAudioSession

    if([self.objAVAudioPlayer prepareToPlay])
    {
    AVAudioSession *objAVAudioSession = [AVAudioSession sharedInstance];
    [objAVAudioSession setCategory:AVAudioSessionCategoryPlayback error:&error];
    [objAVAudioSession setActive:YES
    error:nil];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self.objAVAudioPlayer play];
    }

当应用程序恢复时,它会从它退出的完全相同的位置开始。

基础 SDK 是 iOS 7.0

知道我遗漏了什么吗?任何帮助将不胜感激。

最佳答案

要在后台模式下播放音频,您应该设置 AVAudioSession 并添加此代码

UIBackgroundTaskIdentifier backgroundTask = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask:backgroundTask]; //Tell the system that we are done with the tasks
backgroundTask = UIBackgroundTaskInvalid; //Set the task to be invalid
}];

进入你的 AppDelegate.m 方法中的类

- (void)applicationDidEnterBackground:(UIApplication *)application {
//Some code
}

关于ios - 当应用程序进入后台时 AVAudioPlayer 不播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21380091/

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