1) have been playing (из контекста ясно, что действие только закончилось и и оставило своеобразный "след", что и объясняет положение вещей в момент речи
2) have you been learning ( продолжительность действия, период времени)
3) had been doing (предшествование, те два действия, где одно произошло первее, другое действие -позже)
4) have been waiting(действие выполняется уже какой-то период времени т.е for-в течение)