Android MediaPlayer

作者: 和平北路 | 来源:发表于2017-03-27 11:49 被阅读0次

    一、官方文档

    https://developer.android.com/reference/android/media/MediaPlayer.html

    二、状态机

    State DiagramState Diagram

    三、核心内容

    • MediaPlayer的生命周期是从new对象或reset方法起,到release方法为止,即Idle至End
    1. 在构造函数后调用getDuration等方法,不回触发OnErrorListener的onError方法,但reset之后直接调用会触发
    2. 一旦不需要使用MediaPlayer,调用release方法可以立即释放资源,同时该player对象会永远处于End状态
    3. new出来的MediaPlayer处于Idle状态,create方法初始化的MediaPlayer处于Prepared状态
    4. 只能在MediaPlayer的Idle状态调用setDataSource方法,其他状态下调用会报错
    5. 在Preparing状态下调用的任何方法都有可能引起未知的错误
    6. 只能在MediaPlayer的Initialized状态下调用prepare或prepareAsync方法,其他状态下调用会报错
    7. MediaPlayer一定要处于Prepared状态下时才能开始播放
    8. 如果MediaPlayer已经处于Started状态了,那么再次调用start方法不会起作用
    9. 在Started和Paused之间的状态变化是异步的,会有秒级的耗时,这时候isPlaying方法的返回值可能不准确
    10. 在Started、Paused、Prepared或PlaybackCompleted状态调用stop都会进入Stoped状态
    11. seekto方法是即时的,但需要一定时间缓冲内容,缓冲完成后OnSeekCompleteListener会被触发

    相关文章

      网友评论

        本文标题:Android MediaPlayer

        本文链接:https://www.haomeiwen.com/subject/akxrottx.html