As you know, the present perfect is a present tense because its use always implies a relationship with the present time.
There are some situations in which we use the present perfect: a) to express an action or state begun in the past which has continued up to and into the present (with the words since, so far, up to now, and so on, - Bill has live in New York since 1940. b) to express an action which was repeated in the past and which will possibly be repeated in the future. We have eaten in that restaurant many times. c) to express an action that occurred at an unspecified time in the past. Words that don't necessarily indicate an exact time often accompany this tense, like just, yet, already, recently, etc. I have already seen that movie.
The present perfect progressive is used more to emphasize the duration of time. The Johnsons' radio have been playing for two hours.
But depending on the intention of the speaker, there is very little difference between both. Many times, they are both acceptable.