如何在后台播放音频文件?

发布于 2024-10-21 16:44:13 字数 771 浏览 2 评论 0原文

如何在后台播放音频文件?

这是我的代码:

    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"Alarm" ofType:@"caf"];
    NSData *sampleData = [[NSData alloc] initWithContentsOfFile:soundFilePath];
    NSError *audioError = nil;

    alarmAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError];
    [sampleData release];
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];



    if(audioError != nil) {
        NSLog(@"An audio error occurred: \"%@\"", audioError);
    }
    else {
        [alarmAudioPlayer setNumberOfLoops: -1];
        [alarmAudioPlayer play];
    }

    }

但是当我执行多任务时它不会继续播放,但当我执行多任务返回应用程序时它会恢复。

注意:我知道这是一个旧问题的重复,但该答案对我不起作用。

How can I play an audio file in the background?

This is my code:

    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"Alarm" ofType:@"caf"];
    NSData *sampleData = [[NSData alloc] initWithContentsOfFile:soundFilePath];
    NSError *audioError = nil;

    alarmAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError];
    [sampleData release];
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];



    if(audioError != nil) {
        NSLog(@"An audio error occurred: \"%@\"", audioError);
    }
    else {
        [alarmAudioPlayer setNumberOfLoops: -1];
        [alarmAudioPlayer play];
    }

    }

But it doesn't continue playing when I multitask, but then resumes when I multitask back to the app.

Note: I know this is a duplicate of a old question but that answer didn't work for me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一场信仰旅途 2024-10-28 16:44:13

确保您已将应用程序设置为使用后台音频 API。在应用的 Info.plist 中添加此条目:

在此处输入图像描述

Make sure you have set your application to utilize the background audio API. Add this entry in your app's Info.plist:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文