prepareAsync
Prepares the player for playback, asynchronously.
After setting the datasource and the display surface, you need to either call prepare() or prepareAsync(). For streams, you should call prepareAsync(), which returns immediately, rather than blocking until enough data has been buffered.
Throws
if it is called in an invalid state