It was 35 minutes of terror.

Audio of police radio dispatches from the shooting that left 12 people dead in Virginia Beach starts at 4:08 p.m. Friday with a steely-nerved dispatcher announcing, “One down — gunshot wound, 2405 Courthouse Drive, Building 2.”

She continues: “Caller is advising of a male outside Building 2, possibly shot.”

It’s the city’s Public Utilities offices, where shooter DeWayne Antonio Craddock, who worked there as a civil engineer for 15 years, has begun his rampage, opening fire in front of the building.

In the three minutes after that earliest dispatch, the first cops to arrive, four plainclothes officers, rush to the scene from the police station just 100 yards away.

Craddock, meanwhile, rushes back inside to continue the massacre.

“Which building is Building 2?” a cop asks, as the sounds of police sirens fill the tape. “The operations building,” another cop responds.

They ask if shots are still being fired, and the dispatcher answers them, “10-4. Still actively hearing gunshots.”

It’s 4:11 p.m. when they reach Building 2.

“Do we have any idea where the shooter is at?” one officer asks.

His voice is rushed and shaking, and he doesn’t wait for an answer.

“I’m going in,” he says.

“Shooter is on the second floor,” another cop is heard saying. “10-4, shots fired, second floor,” another answers.

More units are responding, and the dispatcher repeats the address — Building 2, operations building. Some begin helping people evacuate, while others search for the shooter, at first finding only casualties.

“I’ve got a male down on the third floor with a gunshot wound to his arm,” one says.

“Still looking for the gunman,” he adds.

Another dispatcher, on another channel, puts a description of Craddock out over the scanner.

“He’s a black male six foot tall, wearing a blue shirt, has a gun with a silencer, last seen on the second floor, Building 2, 2405 Courthouse Drive.”

Cops and other emergency responders are now flooding into the shooting scene; some set up a command post outside.

“Somebody just jumped out the second floor, on the east side,” one cop says at 4:19.

Soon afterward, in a stairwell between the second and third floors, Craddock has been located and begins firing at the police.

The next staccato bursts of audio reveal the bravery of the officers amid the chaos of the firefight.

“Officer hit! Officer hit!” a cop shouts, anxiously.

“Suspect is DeWayne Craddock,” says another.

“We still have active shots and a suspect on the second floor,” says another.

“We have a team of three going up the stairwell, west side,” says still another.

The shot cop, whose name had not been released by Sunday morning, is led to safety.

“The vest helped stop some of it,” a cop tells the dispatcher of the bullet the cop took to the chest. “But, uh, still broke skin … better get him treated.”

Another cop is heard: “We have the shooter isolated in a stairwell on the east side on the second floor.”

“Isolated between the second and third floor,” the dispatcher repeats. “East side of the stairwell.”

He’s shooting through a doorway, another cop explains. “We do have shots coming through that door.”

Meanwhile, other officers report “multiple victims” on the third floor.

“We’re on third level, with citizens, we have multiple victims in area 385, alpha,” says an officer.

“I have six victims,” says another. “I have one survivor in the corner.”

The evacuation of survivors proceeds, complicated somewhat by a series of locked doors requiring key cards for access — even as the firefight with Craddock continues.

“Two coming down to you,” a cop says. “Coming down with two.”

A male victim has a gunshot wound to the face, but is still alive.

Other survivors are cowering in place — and in fear: “My wife just called me, she has a friend on the third floor, and they’re hiding in the bathroom,” a cop relays.

Craddock, though, has gone silent.

“There hasn’t been shots fired in a while — where is the shooter isolated at?” a cop asks.

Another cop urgently asks for radio silence — “Clear the air!” — so that Craddock can be heard above the tumult.

“We need everyone to stay off this channel,” another adds.

Silence. Minutes pass with scant radio communications.

It’s 4:41 when the a cop announces of Craddock, “We have him on the other side. He’s on the ground. Hold the air,” he adds, asking for more silence.

And it’s 4:43 when another cop says of the dead or dying gunman, “We have the suspect in custody at this time.”