I am currently developing an app for the Apple Watch. In RTPController.swift, I
handle the sending, receiving, and playback of audio, and the specific processes
are as follows:
Overview of the current implementation:
Audio processing: Audio processing is performed by setting the AVAudioSession to
the playAndRecord category and voiceChat mode within RTPController, and by
activating the AVAudioEngine.
Audio reception: RTP packets (audio data) are received over the network within
the setupConnection() method of RTPController.
Audio playback: The received audio data is passed to the playSound(data:) method
and played back through the AVAudioEngine and AVAudioPlayerNode.
Xcode Capabilities settings:
Signing & Capabilities Background Modes:
Audio, AirPlay, and Picture in Picture
Voice over IP
Workout processing Privacy descriptions in Info.plist:
Privacy - Health Share Usage Description
Privacy - Health Update Usage Description
Privacy - Health Records Usage Description
Question 1: When the digital crown is pressed during a call, a message appears
on the screen stating, "End Call to Continue," and the call cannot be moved to
the background. As a result, it is not possible to operate other apps while on a
call. Is this behavior due to the specifications of CallKit?
Question 2: Our app stops communication when it goes into the background, but
the walkie-talkie app on the Apple Watch can transition to the background by
pressing the digital crown during a call, allowing it to continue receiving and
playing the other party's audio while in the background. To achieve background
transition during a call and audio reception and playback in the background, is
the current implementation of RTPController and the enabled background modes
insufficient?
Best regards.
Selecting any option will automatically load the page