I've looked around for a solution for Teamspeak in the past. If i remember correct, ts3dns might me useful for you. I can't remember if it does provide the ability to add 2 records (primary, backup) but you could have a 3rd server checking the availability of your servers and set the dns record to the correct server.
Actually you need a DNS server with very low TTL. That could be ts3dns, no-ip like services or even your own custom DNS server who would also check for the availability and respond accordingly.
Have in mind that since Teamspeak doesn't support load balancing, you can not use the round robin DNS setup because people will end up connected on different servers. For the same reason, your server checker should not change the records back to the primary server once the connection is resolved. If you want to do so, you should also connect to the secondary TS server and reboot it so that all the clients get reconnected to the primary one.
Unfortunately, since i needed something easier that that (without needing a 3rd server or external dns services), i ended up setting up 2 subdomains (ts1.domain.com, ts2.domain.com) for my clan and let everyone know that if the primary server goes down, they should use the 2nd one. They also use the ability to connect on multiple servers so that they would know, when the primary is back online.