A woman survived a shooting massacre at the historic Emanuel African Methodist Episcopal Church in Charleston by playing dead as she lay on top of her five-year-old granddaughter to protect her, according to a witness.

But Felecia Sanders had to watch her son being shot dead after he tried to talk the white gunman down and lay on his blood to avoid being targeted. The harrowing details were revealed by family members of the victims who spoke to the survivors.

Cynthia Taylor, the niece of 87-year-old shooting victim Susie Jackson, who sang in the choir of the African-American church, told AP that she spoke with Sanders and that is what she told her.

A friend of Sanders and cousin of the slain church's pastor Sen Clementa Pinckney told CNN that Sanders' son tried to convince the gunman not to commit any more murders after he shot a couple of rounds.

"Her [Sanders], her son and the grandbaby had already planned that they were going to act like they were already killed, but the son was concerned about Rev Clementa. He got up and that's when the gunman said: 'No, you raped our women and took over the country,'" she told CNN.

"His mother was there, she pretended she was shot and dead and she watched her son fall. And she laid there on his blood."

The gunman was identified as Dylann Roof on a surveillance video photo at the church by his uncle Charles Cowles, who said Roof's father had given the alleged gunman a .45-calibre handgun for his 21st birthday. Cowles described his nephew as "soft-spoken". Roof appears on his Facebook page sporting Rhodesia (now Zimbabwe) and South African apartheid-era flags pinned on his jacket.

The shooting victims — six women and three men — ranged in age from 26-year-old Tywanza Sanders, a recent graduate of Charleston's Allen University, to 87-year-old long-time worshipper Susie Jackson.