Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

【完美解决系列】Android MediaPlayer stop called in state 1

$
0
0

经过测试发现,是因为调用stop函数时,导致的问题。
原代码为:

MediaPlayer player = MediaPlayer.create(context, R.raw.music_1);

private void stop() {
        if (player != null) {
            player.stop();
            player.reset();
        }
    }

我在调用时,是不管是否正在播放均直接调用我自己封装的stop函数。正确的调用时机是,仅在MediaPlayer正在播放时,才可以调用stop函数。
代码修改为:

MediaPlayer player = MediaPlayer.create(context, R.raw.music_1);

private void stop() {
        if (player != null && player.isPlaying()) {
            player.stop();
            player.reset();
        }
    }

加入player.isPlaying()做判断是否为正在播放状态,即可解决此问题。

作者:mvpstevenlin 发表于2017/2/13 20:04:31 原文链接
阅读:5 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>