繁体   English   中英

kAudioSessionProperty_OtherAudioIsPlaying始终返回True

[英]kAudioSessionProperty_OtherAudioIsPlaying Always Returns True

我尽可能地遵循了许多不同的示例,其中大多数都在Apple文档中,但是我无法找出kAudioSessionProperty_OtherAudioIsPlaying 总是在我的设备上返回正数的原因。

我已经初始化并激活了会话,但是当我的音乐暂停时它仍然返回正值。

这是我的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    AVAudioSession* session = [AVAudioSession sharedInstance];

    NSError *activationError = nil;
    BOOL success = [session setActive: YES error: &activationError];
    if (!success) { NSLog(@"%@", activationError); }

    UInt32 otherAudioIsPlaying;
    UInt32 propertySize = sizeof (otherAudioIsPlaying);

    AudioSessionGetProperty (
                             kAudioSessionProperty_OtherAudioIsPlaying,
                             &propertySize,
                             &otherAudioIsPlaying
                             );

    if (otherAudioIsPlaying) {
        [session setCategory: AVAudioSessionCategoryAmbient error: nil];
    } else {
        [session setCategory: AVAudioSessionCategorySoloAmbient error: nil];
    }
}

我究竟做错了什么?

我遇到了同样的问题,设法通过在检查属性之前确保AVAudiosession已实例化来解决此问题,如下所示:

AVAudioSession * session = [AVAudioSession sharedInstance];

在尝试检查任何其他音频之前,请确保已发生此情况,然后它应该可以正常工作:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM