Powered by Appetize.io.
Prior to iOS 5 it was relatively straightforward to detect whether a device was muted by using an audio route to detect playback type.
But under iOS 5 this was changed as Apple never intended for this behaviour. In fact Apple have stated that there is no way to obtain the positioning of the mute switch and have stated that this is not a bug but an intentional change.
However RBDMuteSwitch is a simple, small and easy to use component that takes minutes to integrate, and will even work under previous versions of iOS.