I just had this problem on my phone. What I do is turn it off.
Then hold the power and home button for 10 seconds then release the power hold the home till it boots.
Quickly (or it will boot into the recovery screen) do this again, it may flash white it may not (did this 4 times 1 time it didn't go white)
Then hold the power button and home for 10 seconds let go of the power button but hold the home for another 20 then let go should boot, if not try again. (this step may need to be changed a little for you)