7

Próbuję uruchomić kAudioSessionCategory_RecordAudio po tym, jak moja aplikacja zostanie przebudzona w tle, ale nie na pierwszym planie (jak podczas znaczącej zmiany lokalizacji, widziałem inne aplikacje w sklepie, aby to zrobić, więc wiem, że jest to możliwe). Jednak gdy próbuję uruchomić sesję dźwięku podobnie jakJak rozpocząć sesję nagrywania dźwięku iOS w tle?

CheckError(AudioQueueStart(queue, NULL), "AudioQueueStart failed");

otrzymuję ten błąd:

Error: AudioQueueStart failed (-12985)

więc przeczytać o tym, ale tylko sugestia jest ustawienie sesji audio do aktywnych AudioSessionSetActive(YES), ale to również kończy się niepowodzeniem z błędem '!cat'. Wygląda na to, że możesz spróbować przełączać stan aktywny sesji audio, ale to nie zadziałało.

Mam ustawioną flagę plist audio trybu audio i rozpoczynam sesję audio, podczas gdy moja aplikacja jest na pierwszym planie, a następnie przełącza się do innej aplikacji (pokazuje czerwony pasek pokazujący, że to nagrywa). Właśnie rozpoczyna się sesja audio, gdy aplikacja nie jest na pierwszym planie.

Czy ktoś ma projekt przykładowy Mogę obejrzeć demonstrację rozpoczęcia sesji audio nagrania w tle?

Uwaga: Szukam rozwiązania, które używa kolejek audio, ponieważ potrzebuję dźwięku w buforach, a nie pliku.

Odpowiedz

4

Okazuje się, że kod przykładowy Apple SpeakHere z pewnymi modyfikacjami rozpocznie nagrywanie dźwięku w tle, jeśli dodasz flagę multitaskingu audio do info.plist i dodasz odpowiednie znaczące interfejsy API zmiany lokalizacji. Możesz odszukać https://github.com/benvium/SpeakHere, aby uzyskać zaktualizowaną wersję SpeakHere, ponieważ Apple nie aktualizował jej przez jakiś czas.

+0

czym właściwie jest flaga wielozadaniowości dźwięku? Proszę wytłumacz – Nil

-1

Obecnie system iOS nie zezwala na rozpoczynanie sesji audio lub nagrywanie dźwięku w tle. Aplikacja musi uruchomić dźwięk na pierwszym planie, ale może po prostu wyrzucić wszystkie nagrane dane audio, dopóki nie będą potrzebne, co może być w tle podczas korzystania z odpowiednich trybów tła i sesji audio.

+2

W jaki sposób działa aplikacja, np. Nawigacja GPS, w sytuacji, gdy obecnie nie mówi o kierunku, użytkownik przełącza się do aplikacji muzycznej i odtwarza muzykę, dopóki aplikacja nawigacji GPS nie wskaże nowego kierunku, a aplikacja muzyczna przejmie głośnik ponownie. Zakładam, że jeśli możesz rozpocząć odtwarzanie, gdy aplikacja jest w tle, możesz rozpocząć nagrywanie. – audioBackgrounder

+0

@ hotpaw2, aplikacja na żywo "Rejestrator rozmów snu" doskonale działa i obsługuje nagrywanie cały dzień w tle. Więc powinien istnieć sposób, który pozwala na nagrywanie w tle przez cały dzień. tutaj jest link do aplikacji na żywo: https://itunes.apple.com/en/app/sleep-talk-recorder/id391767653?mt=8 – Jacky

+0

Być może aplikacje te włączają sesję audio na pierwszym planie i przed przejściem do tła cały dzień. – hotpaw2

Powiązane problemy