• Attempt to call getDuration without a valid mediaplayer


    最近在做一个播放器的小例子,中途遇到 了这个错:

     Attempt to call getDuration without a valid mediaplayer


    解决参考方案如下:


    一是如果mediaPlayer对象为null,那么在执行这个方法的时候会报异常

    二是在mediaPlayer对象为不可用状态的时候也会报这个错

    为此,我查了一下书,顺便学习了一下MediaPlayer的生命周期,书中是这样解释的:

    1)  当一个MediaPlayer对象被新建或调用reset()方法之后,它处于空闲状态,在调用release方法之后,才会处于结束状态。

    2)  一个新建的MediaPlayer对象在调用getCurrenProgress()、getDuration、getVideoHeight()、getVideoWith()、setAudioStreamType(int)、setLooping(boolean)、setVolume(float,float)、pause()、start()、stop()、seekTo()、prepare()、prepareAsync()方法时,不会触发OnErrorListenerError()事件,但是MediaPlayer对象如果调用了reset()方法后,再使用这些方法则会触发OnErrorListenerError()事件。

    所以,当你调用了reset()方法后,又调用getDuration()时,就会报异常

  • 相关阅读:
    记录s标签范例
    链表问题总结
    Hibernate学习总结
    HDU2460-Network
    CF464C-Substitutes in Number
    CF666E-Forensic Examination
    CF373C-Counting Kangaroos is Fun
    CF558E-A Simple Task
    HDU5669-Road
    CF341D-Iahub and Xors
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4305385.html
Copyright © 2020-2023  润新知