检查 Android Media Player 是否可以播放文件

And*_* T. 6 java android

在 Android 中,有没有办法检查给定文件是否是媒体播放器的合法文件?这是我目前测试文件在媒体播放器中是否可播放的方法。

public boolean isPlayable(File file){
    try {
        Uri uri = Uri.fromFile(file);
        player.setAudioStreamType(AudioManager.STREAM_MUSIC);
        player.setDataSource(this, uri);
        player.reset();
        return true;
    } catch (Exception e){
        Toast.makeText(this, "Invalid File: " + file.getName(), Toast.LENGTH_SHORT).show();
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用异常进行测试,基本上如果它抛出异常,那么就会出现问题,我们不应该播放该文件。对我来说,这似乎不是很干净,即使它似乎可以很好地完成工作。有没有更好的方法来看待这个问题?我只想知道在尝试将文件插入媒体播放器之前,文件是否会引发异常。