首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试在错误的状态下调用getDuration : mPlayer=0x0,mCurrentState=1如何解决?

在错误的状态下调用getDuration : mPlayer=0x0,mCurrentState=1,这个问题涉及到音视频播放相关的编程和错误处理。根据错误信息,可以看出mPlayer的值为0x0,表示播放器对象为空,mCurrentState的值为1,表示当前状态为错误状态。

针对这个问题,可以采取以下步骤进行解决:

  1. 检查播放器对象的初始化过程:确保在调用getDuration方法之前,播放器对象已经被正确地创建和初始化。可以查看代码中是否包含创建播放器对象的语句,并确认其正确执行。
  2. 异常处理:在调用getDuration方法之前,可以添加对播放器对象是否为空的判断语句,避免在错误状态下调用该方法。例如,可以使用if语句判断mPlayer是否为空,如果为空则不执行getDuration方法,而是进行相应的错误处理。
  3. 错误处理:对于错误状态的处理,可以根据具体需求采取不同的措施。例如,可以输出错误日志或提示用户重新选择合适的操作。同时,也可以通过一些自定义的界面或功能,提供更好的用户体验。

除了以上针对具体问题的解决步骤,以下是相关名词的解释和推荐的腾讯云相关产品(仅供参考):

  • 音视频处理:音视频处理是指对音频和视频进行编解码、转码、剪辑、合成等处理。腾讯云的音视频处理服务包括云直播、云点播、云短视频等产品,可满足音视频处理的各种需求。相关链接:腾讯云音视频处理产品
  • 异常处理:异常处理是指在程序执行过程中遇到异常情况时的处理机制。在开发过程中,可以使用try-catch语句来捕获异常,并进行相应的处理。腾讯云提供了云开发等产品,其中包括异常监控和日志管理等功能,帮助开发者更好地处理异常。相关链接:腾讯云云开发产品

请注意,以上的答案仅供参考,具体的解决方案需要根据实际情况和代码结构来确定。同时,也建议在解决问题时参考相关的官方文档和开发者社区,以获取更准确和及时的信息。

相关搜索:如何解决此错误:在null上调用了方法'[]‘。Receiver:空,尝试调用:[]("name")如何解决lua上的“尝试调用表值”运行时错误?如何解决Facebook在尝试打开图片URL时出现的错误URL时间戳错误?如何解决HTTP/1.1 302在尝试获取PHP中的表单内容时发现错误?尝试在我的网站上使用Google Index API时返回404错误,如何解决此问题?如何解决python路径错误:尝试在没有已知父包的情况下进行相对导入如何解决PHP致命错误:未捕获错误:在laravel版本更新时调用未定义的方法laravel\Container\Container::basePath()错误?在null上调用了getter 'length‘。接收者:空。如何解决列表列表的这个错误?Flutter NoSuchMethodError:在null上调用了方法'[]‘。如何在使用flutter的api中提供get时解决此错误我如何解决我得到的错误,当我尝试安装自定义扩展在TYPO3版本。10?我正在尝试添加一个复选框,但是我得到了无效的钩子调用错误,我如何解决这个问题?在尝试使用botkit构建slackbot时,如何解决Botkit.slackbot对于我的代码来说不是一个函数错误?在调用Facebook的Marketing API时,我遇到了这个错误:“如果没有设置api,则无法进行api调用”。我该如何解决这个问题呢?如何修复在空手道DSL中尝试进行post调用时出现的“错误com.intuit.karate - http请求失败:空”?如何解决此错误:致命错误:在第53行的C:\xampp2\htdocs\digikalamvc\core\model.php中对字符串调用成员函数prepare()
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android MediaPlayer音频播放器详解

    prepareAsync() 异步准备,不阻塞UI线程 然后看一下调用initMediaPlayerListener 方法 播放器监听事件及交互 /** * 播放器监听事件...https://blog.csdn.net/yechaoa 着重介绍两个: 1、setOnPreparedListener 注意,获取资源时长时候,需要在播放器准备完成之后获取,否则会有异常:...Attempt to call getDuration in wrong state: mPlayer=0x7244676280, mCurrentState=4 error (-38, 0) 并会回调...如果程序上没有定位到指定播放位置这种操作的话,不要在onProgressChanged中执行播放操作,因为频繁进度改变,频繁调用播放,会有杂音。 所以建议用户手动拖动来触发播放。...progress) //如果是下一首,可以调用reset()重置,然后set新数据源 } } 如果是下一首,可以调用reset()重置,然后set新数据源

    1.4K30

    MediaPlayer(总结)--从对象生命周期理解MediaPlayer状态

    1.创建播放器 new mediaplayer实例 设置 mediaplayer --> jni --> MediaPlayer 回调listener 2.reset() 销毁MediaPlayerService...所以NuPlayer -> MediaPlayer回调链路就建立了 Idle以外其他状态调用 setDataSource() 都会抛出IllegalStateException,可以理解一个MediaPlayer...Stoped MediaPlayerStarted, Paused, Prepared or PlaybackCompleted这个几个状态下调用stop()会进到Stop状态。...,流媒体网络通讯超时等会导致播放操作发生错误,会进入Error状态 不合理MediaPlayer接口调用也会进入Error状态 这是底层播放器即NuPlayer发生了错误,需要重新调用reset...SDK文档里有一段 构造函数创建后,立即调用getCurrentPosition(), getDuration(), getVideoHeight(), getVideoWidth(), setAudioAttributes

    1.1K20

    Android点将台:绝命暗杀官

    零、前言 1.本文知识点 1).Service简单`介绍及使用` 2).Service`绑定服务`实现`音乐播放器(条)` 3).使用`aidl`实现其他app访问该Service,播放音乐...UI点击调用对应方法即可 ---->[MusicPlayer]-------------- private lateinit var mPlayer: MediaPlayer private var...但是现在只能在一个app里玩,如何让其他app也可以连接服务,这就要说到aidl了 还有很重要一点:Service存活力强,记得上次Activity中new MediaPlayer 来播放音乐...UI点击调用对应方法即可 ---->[MusicPlayer]-------------- private lateinit var mPlayer: MediaPlayer private var...但是现在只能在一个app里玩,如何让其他app也可以连接服务,这就要说到aidl了 还有很重要一点:Service存活力强,记得上次Activity中new MediaPlayer 来播放音乐

    15610

    安卓开发个人小作品(3) – 多功能音乐播放器

    开始前,先放一张最后效果图吧,我个人喜欢风格,简约,美观。...,可以项目源代码中找到,图片长下面这个样子 当然你也可以采用自己图片,来实现炫酷效果哦!...,核心方法就是MediaPLayersetOnCompeleteListener,代码如下 // 监听mediaplayer播放完毕时调用 mplayer.setOnCompletionListener...,用于设置喜爱音乐,效果如下 然后,用sharepreference记录下喜爱音乐序号值,当要播放喜爱音乐时候,直接取到该序号值,然后调用musicplay方法播放序号值对应音乐即可。...attr/popupwindow_bg" 其他属性使用方法同理,然后我们如何来让用户设置主题呢,可以写一个dialog,也可popupwindow,不过我这里为了学习一下样式为dialogactivity

    1.6K30

    Android MediaPalyer

    MediaPlayer 生命周期 这张图很好向我们展示MediaPlayer各个生命周期,以及处于那种状态如何变换到另一种状态,必须正确使用每一个状态,以及状态之间转换,否则就会报IllegalStateException...这两种方法一个重要差别就是:在这个状态下调用getDuration()等方法(相当于调用时机不正确),通过reset()方法进入idle状态的话则会触发OnErrorListener.onError...Prepared 状态:初始化完成之后还需要通过调用prepare()或prepareAsync()方法,这两个方法一个是同步一个是异步,只有进入Prepared状态,才表明MediaPlayer到目前为止都没有错误...Stop 状态:Started或者Paused状态下均可调用stop()停止MediaPlayer,而处于Stop状态MediaPlayer要想重新播放,需要通过prepareAsync()和prepare...setDataSource 当然上面首先得res文件夹下新建raw文件夹,并放置一个test文件 设置播放文件 MediaPlayer要播放文件主要包括3个来源: 用户应用中事先自带resource

    1K11

    详解cn.sample.mnn.detect Alibc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR),

    内存越界访问:应用程序尝试访问超出分配给它内存范围地址。内存泄漏:应用程序执行过程中持续分配内存而不释放,最终导致内存耗尽并引发错误。...解决方法要解决 cn.sample.mnn.detect A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0...如果上述方法仍然无法解决问题,可以尝试使用其他调试工具或者向相关技术支持团队寻求帮助。他们可能能够提供更具体解决方案或者诊断和修复你应用程序中问题。...栈溢出:递归调用层级过深,导致栈空间不足。 要解决 mnn.detect A/libc 错误,以下是一些可能解决方法:检查指针和引用:确保使用指针或引用之前对其进行正确初始化,避免空指针引用。...线程同步:多线程环境中,使用适当同步机制,避免多个线程同时访问或修改同一块内存区域。优化递归算法:如果出现栈溢出错误,可以使用循环或其他优化方法替代递归调用

    54210

    2016级移动应用开发在线测试14-MediaPlayer

    1. MediaStore类是android系统提供一个多媒体数据库,android中多媒体信息都可以从这里提取。...┋ 程序中,并不需要关心如何去扫描手机系统中文件,只要通过ContentProvider提供查询接口,我们便可以得到各种手机上多媒体信息。...接口中定义了流媒体播放完毕后回调方法。 ()MediaPlayer.OnErrorListener:错误接口。...该接口中定义回调方法,异步操作中出现错误时会回调该方法,其它情况下出现错误时直接抛出异常。 ()MediaPlayer.OnInfoListener:信息接口。...这两种方法一个重要差别就是:如果在这个状态下调用getDuration()等方法(相当于调用时机不正确),通过reset()方法进入idle状态的话会触发OnErrorListener.onError

    83730

    surfaceView+MediaPlayer问题

    1.黑屏原因:可能是由于surfaceView还没有创建完成就播放,肯定不行,所以必须在surfaceViewCreated里面才能播放 2.黑屏第二个原因:activity被用户强制性关闭,或者是界面...没有准备好之前,可以设置他不停加载把 5.播放失败,或者直接闪屏原因之一:就是从一个视频activity或者view到另外一个视频view播放,如果时间比较紧凑,可能会立即失败,或者闪退,这里面的原因就是...,可能会出现这个元,如果是原生态可能就不会,解决方法就是 第二个视频延迟播放,或者跳转时候稍微延迟,或者播放视频时候弹出正在加载,让那个进度条延迟一秒旋转时间,再播放,应该可以解决这个问题【http...,这里也会造成卡顿原因 9.关于声音问题,要在设置数据源之后执行比较好: 把 mPlayer.setAudioStreamType(AudioManager.STREAM_SYSTEM); 换成 mPlayer.setAudioStreamType...canvas) 调用该方法,之前所绘制图形还处于缓冲之中,下一次lockCanvas()方法锁定区域可能会“遮挡”它 SurfaceHolder.CallBack ?

    2.1K20

    实验三 音乐播放器

    实验三: 音乐播放器 实验目标和实验内容: 1、掌握服务基本概念,能编写服务过程并进行调用; 2、掌握广播基本概念,能实现广播通信。...返回歌曲id • PrepareAndPlay() 定向操作 打开并播放音乐文件 注意点 • 记得配置文件中注册服务 • 注意findViewByIdFragment使用方法 • Fragment...中给ImageButton绑定事件监听器要重写onActivityCreated方法 第一步:tab02中添加按钮组件以及文本框 第二步,frdFragment中添加对按钮监听并发送广播...接收 sendBroadcast(sendIntent); } } 接收frdFragment控制信息并对于不同状态下播放器执行对于不同控制信息事件...Broadcast中尽量不要处理太多逻辑问题,建议复杂逻辑交给Activity或者Service去处理。

    1.5K20

    神奇 ViewDragHelper,让你轻松定制拥有拖拽能力 ViewGroup

    用 scrollBy() 方法就可以解决,它等同于滑动或者滚动概念,这个不在于本文讨论范围之内,如果对于这部分感兴趣同学可以阅读我这篇博文《不再迷惑,也许之前你从未真正懂得 Scroller 及滑动机制... Android 中 MotionEvent 封装了触摸时各种状态。所以我们主要处理状态有以下: 1. MotionEvent.ACTION_DOWN: 在这个状态时,标记手指按下屏幕。...可能有些同学没能理解明白,我分解一下: 1. settleCapturedViewAt() 方法调用目的将 child 定位到 (left,top) 位置,但它不是瞬间到达,有一个动画过程。...我之前文章中这么解释过: Scroller 无法自驱动,一定需要外部条件多次调用 computeScrollOffset() 方法,正因为这些源源不断调动,驱动了 Scroller 本身。...当然,我演示时候是用继承 FrameLayout,而实际上要做工作还很多,大家可以尝试用 RecyclerView 来实现它。

    3.4K22

    Android实现音乐播放进度条传递信息两种方式(service和activity中)

    实现播放时进度条显示,或是定时从service获取某些信息,是我们日常开发中经常遇到需求,下面介绍当音乐再service中运行时,activity如果获取音乐进度信息两种方式: 一、activity...1.千万不要把mediaPlayer.getDuration()放在定时任务里,线程和定时器都不能放 因为mediaPlayer.prepare()执行速度很低,有概率出现mediaPlayer.prepare...()还在执行中,突然定时器里刚刚好到时间该调用mediaPlayer.getDuration()这个方法,结果就是mediaPlayer.prepare()因为没有初始化成功就调用mediaPlayer.getDuration...()而报下面的错误导致程序闪退。..._prepare(Native Method) (当然如果你定时操作间隔越大出错概率就越小,不过我强迫症就是忍不了) 2.上面提到mediaPlayer.prepare()执行速度很低,如何解决

    2.3K30
    领券