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

当MediaPlayer无法播放源码并且正在重试时,如何立即获取回调?

当MediaPlayer无法播放源码并且正在重试时,可以通过设置MediaPlayer的OnInfoListener来获取回调。OnInfoListener是MediaPlayer的一个回调接口,用于监听MediaPlayer的信息事件。在重试过程中,可以通过该接口获取到重试相关的信息。

具体步骤如下:

  1. 创建一个MediaPlayer对象,并设置OnInfoListener回调接口。
  2. 在OnInfoListener的onInfo()方法中,判断是否是重试相关的信息事件。
  3. 如果是重试相关的信息事件,可以立即获取回调并进行相应的处理。

以下是一个示例代码:

代码语言:java
复制
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() {
    @Override
    public boolean onInfo(MediaPlayer mp, int what, int extra) {
        if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
            // 当MediaPlayer开始重试时,获取回调并进行处理
            // TODO: 处理重试相关的逻辑
        }
        return false;
    }
});

// 设置要播放的源码
mediaPlayer.setDataSource("your_source_url");
// 准备MediaPlayer
mediaPlayer.prepareAsync();

在上述代码中,通过设置MediaPlayer的OnInfoListener回调接口,可以监听到MediaPlayer的信息事件。当MediaPlayer开始重试时,会触发onInfo()方法,并通过what参数传递MediaPlayer.MEDIA_INFO_BUFFERING_START信息。在该方法中,可以立即获取回调并进行相应的处理。

对于推荐的腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法给出具体的推荐产品和链接。但腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,可以根据具体需求在腾讯云官网进行查找和了解。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

android学习笔记----来看看MediaPlayer释放资源release()的使用

当查阅 MediaPlayer 文档时 你会发现这个方法setOnCompletionListener,这里的说明指出该方法允许你注册一个回调。...当 MediaPlayer 播放完成时,onCompletionListener 对象的onCompletion() 方法将被调用。...方法,使用了一个异步回调,当 MediaPlayer 播放完歌曲后,我会获得通知,在此期间,我可以执行其他操作,例如对用户的其他按钮点击操作做出响应,并等待着获得回调。...除了持有不必要的资源(例如内存和编解码器实例)之外,当不再需要MediaPlayer对象时,若没有立即调用此方法也可能导致移动设备的电池持续消耗,如果设备上不支持同一编解码器的多个实例,没有调用release...现在如果我播放某个发音,然后通过点按主屏幕按钮立即离开该应用,会立即停止播放发音,因为我添加了这段 onStop 代码,如果没有onStop()里面添加的逻辑代码,那么离开该 Activity时,每个单词的发音还会继续播放

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

    ┋ 因为MediaPlayer一直操作的是一个流媒体,所以无可避免的可能一段流媒体资源,前半段可以正常播放,而中间一段因为解析或者源文件错误等问题,造成中间一段无法播放问题,需要我们处理这个错误,否则会影响...您的回答为:MediaPlayer.OnClickListener: 点击接口。该接口中定义了一个回调方法,当点击事件发生时回调该方法。...该接口定义了一个回调方法,该方法在媒体播放时出现信息或者警告时回调该方法。 ()MediaPlayer.OnPreparedListener:准备播放接口。...该接口中定义了一个回调方法,当字幕的需要显示时回调该方法。 ()MediaPlayer.OnClickListener:点击接口。该接口中定义了一个回调方法,当点击事件发生时回调该方法。 9. ...()Idle 状态:当使用new()方法创建一个MediaPlayer对象或者调用了其reset()方法时,该MediaPlayer对象处于idle状态。

    84130

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

    1.创建播放器 new mediaplayer实例 设置 mediaplayer --> jni --> MediaPlayer 回调listener 2.reset() 销毁MediaPlayerService...new NuPlayer实例 设置 NuPlayer 回调 MediaPlayerService的回调函数notify notify回调函数是在createPlayer时一起作为参数传递过去的。...实例只能有一个NuPlayer实例和对应的回调链路 Prepared ,Preparing 解析视频源,demux, 创建decode,建立视频播放管道(不同播放器会有不同的实现方式) Started...可以理解prepare创建的播放器管道销毁,需要重新建立才能播放 End 当release()被调用后,所有的资源会被释放,处于End状态。...服务端 binder通讯实例mPlayer 销毁mediaplayer实例 Error 由于某些原因,比如无法识别音视频封装格式,poorly interleaved audio/video,分辨率过高

    1.1K20

    Android多媒体之认识MP3与内置媒体播放(MediaPlayer)

    当某个旋律想起,还会不会浮现某个风景,某个人……, 今天全程单曲播放——梁静茹-勇气(献上频谱) ? 勇气.png 主要任务:SD卡音乐、网络音频流的播放及控制 ?...*/ public void start() { //未初始化和正在播放时return if (!...*/ public boolean isPlaying() { //未初始化和正在播放时return if (!...pre_100 -> { musicPlayer.seekTo(pre_100); }); 拖动就这么简单... ---- 六、其他的一些监听方法+网络音频流 1.常用的几个监听: //当装载流媒体完毕的时候回调...刚才是通过create()创建的MediaPlayer,源码中create()调用了prepare() 而想要异步准备,需要自己定义MediaPlayer,由于异步准备,而且有回调,就不用开线程了

    1.9K61

    Android service ( 一 ) 三种开启服务方法

    先后调用了onCreate()、onStart()这两个方法;当停止Service时,则执行onDestroy()方法。...c 有一个正在调用生命周期的回调函数的service(如onCreate()、onStar()、onDestroy()) d 它有一个正在运行onReceive()方法的广播接收对象。...只有少数的前台进程可以在任何给定的时间内运行,销毁他们是系统万不得已的、最后的选择——当内存不够系统继续运行下去时。...3 一个服务进程是一个通过调用startService()方法启动的服务,并且不属于前两种情况。尽管服务进程没有直接被用户看到,但他们确实是用户所关心的,比如后台播放音乐或网络下载数据。...4 一个后台进程就 是一个非当前正在运行的activity(activity的onStop()方法已经被调用),他们不会对用户体验造成直接的影响,当没有足够内存来运 行前台可见程序时,他们将会被终止。

    4.2K10

    Android Service 服务(一)—— Service

    先后调用了onCreate()、onStart()这两个方法;当停止Service时,则执行onDestroy()方法。...c 有一个正在调用生命周期的回调函数的service(如onCreate()、onStar()、onDestroy())         d 它有一个正在运行onReceive()方法的广播接收对象。...只有少数的前台进程可以在任何给定的时间内运行,销毁他们是系统万不得已的、最后的选择——当内存不够系统继续运行下去时。...3 一个服务进程是一个通过调用startService()方法启动的服务,并且不属于前两种情况。尽管服务进程没有直接被用户看到,但他们确实是用户所关心的,比如后台播放音乐或网络下载数据。...4 一个后台进程就是一个非当前正在运行的activity(activity的onStop()方法已经被调用),他们不会对用户体验造成直接的影响,当没有足够内存来运行前台可见程序时,他们将会被终止。

    1.3K30

    android学习笔记----关于音频焦点Audio Focus

    当失去焦点时,监听者可以使用焦点变化信息来决定失去焦点时采用的行为。例如,音乐播放器可以选择降低其音乐流(回避)的音量以用于瞬时焦点损失,否则暂停。...对于这里的例子,我们可以暂停音频文件,并且下次从头播放。...当别的应用程序放弃焦点时(调用abandonAudioFocus),您会收到回调(AUDIOFOCUS_GAIN)。此时,您可以将音量恢复到正常水平或重新开始播放。...永久失去焦点 如果音频焦点丢失是永久性的(AUDIOFOCUS_LOSS),另一个应用程序正在播放音频。您的应用应立即暂停播放(或者释放资源),因为它不会收到AUDIOFOCUS_GAIN回调。...当某项内容被点击后,我希望使用 AudioManager 来请求 Audio Focus,然后再设置 MediaPlayer 来播放声音。所以在ListView的点击监听事件里面操作。

    1.8K10

    Android Service 服务解说

    先后调用了onCreate()、onStart()这两个方法;当停止Service时,则执行onDestroy()方法。...c 有一个正在调用生命周期的回调函数的service(如onCreate()、onStar()、onDestroy()) d 它有一个正在运行onReceive()方法的广播接收对象。...只有少数的前台进程可以在任何给定的时间内运行,销毁他们是系统万不得已的、最后的选择——当内存不够系统继续运行下去时。...3 一个服务进程是一个通过调用startService()方法启动的服务,并且不属于前两种情况。尽管服务进程没有直接被用户看到,但他们确实是用户所关心的,比如后台播放音乐或网络下载数据。...4 一个后台进程就是一个非当前正在运行的activity(activity的onStop()方法已经被调用),他们不会对用户体验造成直接的影响,当没有足够内存来运行前台可见程序时,他们将会被终止。

    58730

    【Android笔记】Android Service 服务

    先后调用了onCreate()、onStart()这两个方法;当停止Service时,则执行onDestroy()方法。...c 有一个正在调用生命周期的回调函数的service(如onCreate()、onStar()、onDestroy()) d 它有一个正在运行onReceive()方法的广播接收对象。...只有少数的前台进程可以在任何给定的时间内运行,销毁他们是系统万不得已的、最后的选择——当内存不够系统继续运行下去时。...3 一个服务进程是一个通过调用startService()方法启动的服务,并且不属于前两种情况。尽管服务进程没有直接被用户看到,但他们确实是用户所关心的,比如后台播放音乐或网络下载数据。...4 一个后台进程就是一个非当前正在运行的activity(activity的onStop()方法已经被调用),他们不会对用户体验造成直接的影响,当没有足够内存来运行前台可见程序时,他们将会被终止。

    80810

    android视频系列:视频解码篇--android上视频播放的实现

    播放时,从容器里取出一张图片,放到屏幕上显示,隔一点时间后,再从容器里取出下一张图,放到屏幕上。按次序把图片一张一张显示到屏幕上,等到最后一张也显示到屏幕上后,播放就完成了。...让我们来看看,如何使用GLSurfaceView来实现视频的播放。 首先创建好GLSurfaceView。 ?...onDrawFrame()的调用发生在绘制当前帧时。每一次要显示的内容,都在这个方法里完成opengl渲染。 下面我们来看具体如何定义VideoRenderer,来实现视频播放。 ?...为该SurfaceTexture设置数据获取的回调onFrameAvailableListener。当SurfaceTexture获取到数据,该回调就会被执行。...MediaPlayer就会把解码数据源源不断地放入SurfaceTexture中了。 放入到SurfaceTexture中的数据,我们要如何来使用呢?

    4.1K131

    YouTube开源播放器中文使用指南

    对于自定义播放器非常友好,里面将很多模块抽象成独立的组件可供使用者自行定制,当然官方也提供了一些默认的实现。如果你正在开发视频类功能,强烈推荐你尝试一下ExoPlayer。...可以根据用户的需求方便的对播放器行为进行定制和扩展,ExoPlayer中的很多组件都支持自定义和扩展。 支持播放视频列表,并且可以支持对视频的裁剪、合并,以及循环播放设置。...所以当需要播放媒体资源时,你得先创建一个和资源相关的MediaSource对象,然后通过ExoPlayer.prepare方法将封装的对象传入。...当播放准备好了以后,我们可以通过setPlayWhenReady方法控制播放,当然ExoPlayer也提供了丰富的API去控制播放的过程。...既然是Yutube使用的播放器,如何强大读者自行去挖掘,也可挖掘源码中的设计架构。

    4K20

    Android Service 服务(一)—— Service

    先后调用了onCreate()、onStart()这两个方法;当停止Service时,则执行onDestroy()方法。...onDestroy(),停止并释放mediaPlayer音乐资源,假设当执行context.stopService()时调用此方法 4、Activity中,onClick()函数中close与exit...c 有一个正在调用生命周期的回调函数的service(如onCreate()、onStar()、onDestroy()) d 它有一个正在执行onReceive()方法的广播接收对象。...仅仅有少数的前台进程能够在不论什么给定的时间内执行,销毁他们是系统万不得已的、最后的选择——当内存不够系统继续执行下去时。...4 一个后台进程就是一个非当前正在执行的activity(activity的onStop()方法已经被调用),他们不会对用户体验造成直接的影响,当没有足够内存来执行前台可见程序时,他们将会被终止。

    1.3K10

    Qzone视频下载如何做到多快好省?

    这种方式非常简单,但其中最大的问题就是整个过程中的数据流完全由MediaPlayer控制,我们无法控制下载和播放的过程,也就导致我们没有办法提高成功率,优化用户体验。...图2: 防盗链预拉取 2.2:数据预加载: 从MediapPlayer的源码可以发现(AwesomePlayer.cpp), MediaPlayer需要下载5秒的数据才会开始播放视频,按照现在的外网平局下载速度计算...但视频数据的预加载不能跟当前播放的视频抢下载带宽,因此我们选择以当前播放视频的播放进度和数据缓存量为维度,当两者同时达到一个阀值时开始下载下一个视频的数据。...下层代理在下载数据时,为了减少对于别的业务影响,不会占用全部的带宽,但当发生频繁的网络切换时,下载代理会主动突破速度的限制,尽可能快的在网络情况良好时下载数据,给之后的播放留下足够的数据Buffer,保证整体播放的流畅性...除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

    1.2K100

    Android-MediaPlayer(2)加进度条和时间显示

    我们想一下,我们已经知道这个音频文件放在手机里面了,也已经可以播放了,那么我要用进度条来显示当前歌曲的播放进度该怎么做,并且你可以通过手指拖拽这个Seekbar来到你想要的歌曲片段出,并且松手就要播放音乐...这里面有三个参数,seekbar就是进度条,progress就是进度值,而fromUser参数,这个参数的作用是触发SeekBar的onProgressChanged回调接口时,可以根据这个参数判断是手动滑动...SeekBar seekBar) { isSeekbarChaning = true; } /* * 当手停止拖动进度条时执行该方法...SeekBar seekBar) { isSeekbarChaning = true; } /* * 当手停止拖动进度条时执行该方法...没有关系,可以看下面这篇文章,可以扫描手机的本地音乐,添加到列表上,并且播放出来,比现在看起来要更高大上呢

    5.7K20
    领券