вы не должны вызывать prepareToPlay при столкновении, prepareToPlay устанавливает звуковой буфер, делайте это в своей функции didMoveToView