Второй метод, правда, не очень поможет, он же, насколько помню, проверяет возможно произведения без остановки и подгрузки, а файл может быть в МБ 50-100
А с первым примерно вот так:
Получаем расширение файла
Проверяем возможность воспроизвести
?
Тогда если файл бит, будет просто бесконечная загрузка.
DromHour: втрой вариант тоже хорош. Если файл не воспроизводится, то и возможности проиграть его не будет. 50-100 мб это норм, первая мета-дата появится уже после загрузки первых килобайтов и вы сможете решить что с ним делать дальше.