AVAudioPlayer is not playing in Background when iPhone is locked

前端 未结 4 2011
花落未央
花落未央 2021-01-03 11:57

Actually i fetching the songs from Documents Directory.

I referred this Link:- http://www.raywenderlich.com/29948/backgrounding-for-ios , But it wil

相关标签:
4条回答
  • 2021-01-03 12:21

    If you set the UIBackgroundModes key in you app's Info.plist to audio, audio will keep playing while backgrounded.

    audio : The app plays audible content in the background.

    More on UIBackgroundModes keys check here

    0 讨论(0)
  • 2021-01-03 12:26

    Does it work in the background when your device is unlocked?

    If so, it sounds like a permissions issue. If you have enabled data-protection for your app at developer.apple.com. Whilst the device is locked with a passcode you will not be able to read the documents directory because the files are encrypted.

    We got stuck trying to write to a database whilst the device was locked. Wasted a good two days to figure that one out.

    W

    • Edit - Also may find the setting in Xcode under capabilities
    0 讨论(0)
  • 2021-01-03 12:30

    I used Data Protection mechanism and particularly before I am going to write the NSDATA into Documents directory. I need to set the Protection None to particular file path. So I used NSProtectionNone Property for the file path. If we won't set the ProtentionNone property the Apple won't allow to access the file on Locked State.

    NSDictionary *protection = [NSDictionary dictionaryWithObject:NSFileProtectionNone forKey:NSFileProtectionKey];
    [[NSFileManager defaultManager] setAttributes:protection ofItemAtPath:_path error:nil];   
    
    if( [_rawData writeToFile:_path atomically:YES])
    {
        NSLog(@"HOpefully written into Documentz directory..");
    
    }
    else
    {
        NSLog(@"Writting file mechanism - Failed!");
    }
    

    And I used to play the Dummy audio file in infinite loop from App Bundle. so the dummy audio file is playing continuously using AVFoundation Framework. So I can able to access the Documents directory audio files continuously. one by one.

    0 讨论(0)
  • 2021-01-03 12:30

    Are there other audio/video apps currently running on your device? Some of them that also use AVAudioSessionCategoryPlayback can interrupt your audio session.

    How it is said on Apple Developer:

    By default, using this category implies that your app’s audio is nonmixable—activating your session will interrupt any other audio sessions which are also nonmixable. To allow mixing for this category, use the AVAudioSessionCategoryOptionMixWithOthers option.

    0 讨论(0)
提交回复
热议问题