Most amplifiers where there is a volume control will have the volume control at the input side of the device. Although this is not a hard-and-fast rule, because adjusting volume can happen elsewhere in the circuit for certain design reasons, in this application it is most likely.
Simply incorporate a non-shorting switch immediately prior to the volume control of your head unit. One position will simply pass the audio signal as it originally was from the line level input to the volume control. Another position will interrupt the circuit, and you can attach the output of your mp3 player to this switch position. Selecting that will send the signal to the volume control.
Run the mp3 player's own volume setting at a level that closely matches the level of the other position of the switch; for example while playing the same song on cassette and mp3, make the levels via the two switch positions equal or very close. Use the volume control of the head unit to control the overall level of both the radio/cassette and your mp3 player.
We use a non-shorting switch because we do not normally want the outputs of two devices connected together, even for a brief period of time, as damage may result.
If all you have is a shorting switch, but it has more than two positions, have the mp3 player and the radio/cassette separated by one position. This way, either the mp3 player or the radio/cassette will be shorted to open contacts; effectively making it a non-shorting switch. For example, in a 3 position shorting switch, position 1 is mp3 player, position 2 is open, and position 3 is the radio/cassette.
The cassette adapters do work, but you will have two limitations on sound quality to deal with. One, the performance of the cassette player is compromised compared to a line level input ... typically noise will be in the order of -45 dB, for example, with perhaps high quality units achieving -55 dB. It is likely your head unit is capable of better noise performance through an input other than the cassette player component. Secondly, there is a frequency response limit, on both the lower and upper frequency range.
The upper frequency range is not as significant a limitation ... it may be capable of reproduction only up to 14,000 Hz, for example. It will almost certainly not be able to reproduce 17,000 or higher frequencies. None the less, this is adequate for high quality sound reproduction, despite the usual specification of 20~20,000 Hz. High frequency reproduction is not a hallmark of mp3 encoding in any case ... you may prefer it for overall sound quality over a higher upper frequency limit.
However, low frequency reproduction in digital encoding/storage/reproduction chains is typically of very good potential quality. Even mp3 players and data can have very good low bass performance. The cassette player, on the other hand, will not be able to reproduce frequencies below about 50 Hz with any expectation of accuracy. This is a limitation of the design of a tape head. The cassette tape itself is narrow, where good LF response in a tape head is best found in a physically larger head. In interpreting the typical frequency response of any cassette player, it's useful to remind yourself that the specification for cassette players is typically the -3dB point. 20~18,000 Hz, with the upper and lower limits at -3dB does not imply flat response (say, the -1dB point) beyond a range of about 50~14,000 Hz.
Considering these limitations it's unlikely that a device designed to magnetically couple with the tape head (which is how these cassette adapters work) will be designed to have good LF response; the cassette player's head could not use it if it were there in the first place. Because the means to magnetically couple to the tape head is in essence another tape head, we are relying on the manufacturer of your adapter to supply a head of equal or better quality than what's in your deck. I find this unlikely; the effect will mean poorer overall quality than what your deck is capable of with a cassette inserted.
Sound quality is adequate via such a device but you would achieve better quality via the method outlined above. The mp3 player itself is likely to be capable of lower noise and wider frequency response than either the adapter or the cassette head it's designed to interface with.
There is a possibility of an impedance mismatch when incorporating devices in this way. Ideally the output impedance is lower than the input impedance. In this case, we want a low output impedance on the mp3 player's headphone jack and a high input impedance at the volume control of your head unit. I would be surprised if this was not the case. The mp3 player would be built to drive a headphone of about 25~40 ohms, so lets assume an output impedance of 2 ohms or less. This will be fine as the expected input impedance should be at least a few hundred ohms; typically thousands.
This may require you to have the volume setting on the mp3 player at a lower setting, but the worst consequence of that would be somewhat higher noise. Since our alternative is a high noise device anyway this should not be a concern.