首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 7背景音频、AudioSession

iOS 7背景音频、AudioSession
EN

Stack Overflow用户
提问于 2013-10-21 05:36:01
回答 1查看 1.8K关注 0票数 3

我正在尝试为iOS 7 (AVPlayer)做一个简单的无线电播放器,但是我不知道如何使用AudioSession应用编程接口。有一些教程,但这些教程是针对iOS 6或更低版本的。

有人可以发布一个代码片段或者iOS 7 AV教程的链接吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-25 12:35:52

好的。这将设置您的音频会话以播放,并启用与其他音频的混合,然后激活该会话。这是使用新的Objective-C API,而不是您在所有示例中看到的基于C的旧API。

如果您想通过AirPlay和控制中心接收远程控制事件和/或显示专辑/歌曲信息,您不能启用与其他应用程序混合选项,因此在您的情况下,您可能希望省略该选项字典。

代码语言:javascript
复制
NSError *audioError = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
if(![session setCategory:AVAudioSessionCategoryPlayback
             withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&audioError]) {
    NSLog(@"[AppDelegate] Failed to setup audio session: %@", audioError);
}
[session setActive:YES error:&audioError];

其他一些技巧-确保将音频添加到info.plist文件中的UIBackgroundModes密钥,以允许背景音频播放。

如果您想要远程控制事件(通过控制中心、耳机、蓝牙、AirPlay等),请拨打

代码语言:javascript
复制
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

然后把这个放到你的应用委派中:

代码语言:javascript
复制
- (void)remoteControlReceivedWithEvent:(UIEvent *)event
{
    if(event.type == UIEventTypeRemoteControl)
    {
        switch(event.subtype)
        {
            case UIEventSubtypeRemoteControlPause:
            case UIEventSubtypeRemoteControlStop:
                break;
            case UIEventSubtypeRemoteControlPlay:
                break;
            default:
                break;
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19483147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档