Depends which word you use. "Since" normally requires the present and not the progressive because it points to a specific moment in the past (a moment after which something happened or didn't happen). "For" indicates a timeframe in which something was occurring or not occurring.
They have been speaking for the last hour. (Perfect perfect continuous, positive -- means they have been talking for an hour)
They haven't been speaking for an hour. (Present perfect continuous, negative -- means they had an hour where they were deliberately not speaking to each other)
They haven't spoken for an hour. (Present perfect, negative -- means they spoke an hour ago but not since)
If you're using the word "since" you're focusing on the moment that an action occurred (or the last time it occurred), so you're naturally going to use the perfect but not the continuous in a negative sentence. You must use a specific time with this construction, you can't use a length of time (e.g., an hour):
"They haven't spoken since 4 o'clock." (Present perfect, negative)
"They have been speaking since 4 o'clock'." (Present perfect continuous, positive)