The only method for getting a volume change on currently playing AVPlayer items is to follow this process;
- Offload the currently playing AVPlayerItem's asset
- Grab the current playback time for that AVPlayerItem
- Load the asset into a new AVPlayerItem
- Replace the current AVPlayerItem with the new one
- Wait for the currentItem to change on the AVPlayer
- Prepare your AudioMix and seek to previous playback time
Have I missed a basic principle somewhere or is it meant to be this convoluted to simply manage volume levels?
I cannot use an AVAudioPlayer because I need to load iTunes tracks into the player.