android.media.MediaPlayer毫无例外地崩溃

时间:2012-02-23 17:54:56

标签: android exception media-player

当我将损坏的音频文件传递给它时,MediaPlayer使我的应用程序冻结而不会抛出异常。这是我的代码:

try
{
    if (this.mediaPlayer.isPlaying())
    {
        this.mediaPlayer.reset();
    }

    this.mediaPlayer.setDataSource(this.currentSong.getFile() /* path string */);
    this.mediaPlayer.prepare();
    this.mediaPlayer.start();
}
catch (Exception e)
{
    Log.v("Oh snap", "MediaPlayer exception: " + e.toString());
}

我该怎么办?我需要一个例外来正确处理损坏的文件。测试设备是运行Android 2.3.6的三星Galaxy S2,我的目标是API级别8。

我不确定我传递给MediaPlayer的损坏的flac文件有什么问题。我所知道的是,它们也会崩溃我的应用程序和股票音乐播放器,这不应该发生。

1 个答案:

答案 0 :(得分:1)

如果是本机崩溃,那么只能从Java层完成。请查看this answer,了解您可能需要做的可怕黑客攻击。