

I have found Duolingo much, much less useful for language learning than Language Transfer. The latter actually helps you learn to think in another language rather than memorize things (which is still useful, but not nearly as much).
Short if total immersion, I have found nothing better than LT.
Just audio. But it is presented in a way that helps you to learn, rather than just remember. If you give it a try, I promise that you will be shocked at how you can retain the knowledge.
It isn’t enough on its own, however. You need to reinforce the lessons by speaking to people, reading, and/or TV and movies.