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

exoplayer自动播放不能使用exoPlayer.setPlayWhenReady(true)

exoPlayer.setPlayWhenReady(true) 是 ExoPlayer 框架中用于设置自动播放的方法。当调用该方法并传入参数为 true 时,ExoPlayer 会自动开始播放视频或音频。

然而,exoplayer自动播放不能使用exoPlayer.setPlayWhenReady(true) 的问题可能是由于以下原因导致的:

  1. 权限问题:确保在 AndroidManifest.xml 文件中添加了适当的权限,例如 INTERNET 权限,以便 ExoPlayer 可以访问网络资源。
  2. 播放器状态问题:在调用 exoPlayer.setPlayWhenReady(true) 之前,确保 ExoPlayer 处于正确的状态。例如,你可以在 ExoPlayer 的 onPlayerStateChanged 回调方法中检查播放器的状态,并确保在合适的时机调用 setPlayWhenReady 方法。
  3. 播放器准备问题:确保 ExoPlayer 已经准备好播放媒体资源。你可以在 ExoPlayer 的 onPlayerStateChanged 回调方法中检查播放器的状态,并确保在播放器状态为 STATE_READY 时调用 setPlayWhenReady 方法。

如果以上方法都没有解决问题,你可以尝试以下步骤:

  1. 检查媒体资源:确保你要播放的媒体资源可用,并且可以在其他播放器中正常播放。
  2. 检查 ExoPlayer 配置:确保你正确配置了 ExoPlayer,并且已经设置了正确的媒体源。
  3. 检查日志信息:查看 ExoPlayer 的日志信息,以了解是否有任何错误或警告信息。

如果你需要使用 ExoPlayer 进行自动播放,可以参考腾讯云的云点播产品。云点播是腾讯云提供的一项音视频云服务,它提供了丰富的功能和工具,可以帮助开发者实现高效、稳定的音视频播放。你可以通过以下链接了解更多关于腾讯云云点播的信息:

腾讯云云点播产品介绍

请注意,以上答案仅供参考,具体解决方法可能因实际情况而异。如果问题仍然存在,请参考 ExoPlayer 的官方文档或寻求相关技术支持。

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

相关·内容

音视频开发之旅(44)-ExoPlayer介绍及简单使用

从这篇开始我们进入阶段五 —— 一些音视频开源项目的学习使用分析,今天我们进入ExoPlayer部分的学习实践 一、ExoPlayer基本介绍 1.1 ExoPlayer优缺点 ExoPlayer是谷歌开源的一个应用级的音视频播放器...在我们的日常项目开发中,开发一个组件 从易用性和以扩展性方面考虑,既要保证使用者很容易上手使用(提供一套默认实现),又要有方便使用者根据自己的场景进行方便的扩展的能力。...相比MediaPlayer,ExoPlayer的状态少了些,也更容易使用区分,不像MediaPlayer在没有prepared之前都不可以进行播放相关操作,ExoPlayer很多listener以及isplaying...,为true,将会开始播放,否则不播。...STATE_ENDED: 播放完了所有的资源后处于改状态 二、ExoPlayer的简单使用 这一小节我们学习实践ExoPlayer使用 2.1 AS中引入library ExoPlayer有很好的扩展性和可定制性

6.8K00

ExoPlayer 多路流切换

这种也是ExoPlayer支持本身支持的方式。...这种播放器只能使用重启播放器方式实现码流切换。ExoPlayer作为开源播放器,具备很好的可扩展性,既支持DASH/HLS切换,同时也支持解码器重启方式的切换。...三、ExoPlayer 如何实现多路流切换? 这里我们不说DASH、HLS部分,这部分其实有很多资料,ExoPlayer本身也是支持的。...ExoPlayer 支持多种资源读取方式,以MediaSource 的子类开放给开发者使用,我们常用的有ProgressiveMediaSource、DashMediaSource、HlsMediaSource...4.2.2 音频和视频对齐不同点: 相对来说,音频对齐要简单的多,音频解码后的数据是有规律地线性排列,在保证播放时间的准确的基础上,保证声音通道数、位深排列顺序正常就行(比如对齐之后,不能将左声道变为右声道

96131

ExoPlayer 漫谈之解码器复用

基于我们对MediaCodec使用方式和原理的熟悉,我们在使用MediaCodec的时候,首先要初始化,codec configure, codec start等流程,经过这些流程,codec分配内存来存储...就会尽可能重复使用视频解码器。...一句话, 想复用codec实例,不能调用stop方法,不能将codec置为disabled状态 ExoPlayer 2.10版本之后的codec复用 2.10版本可以保证在播放新的视频源的时候复用播放器解码器资源...我们如何复用解码器 保证你播放的视频的格式是相同的,例如短视频信息流都是H264/AAC编码格式 如果使用ExoPlayer播放器,最好使用同一个ExoPlayer实例,因为codec实例是封装在ExoPlayer...(...)函数,这个函数的使用方式是比较复杂的,不能误用 https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/ExoPlayer.html

2.5K60

教你使用超简单的视频播放器JiaoZiVideoPlayer

在之前的项目中用到了视频播放的功能,在网上看了看使用了大家用的比较多的一个开源项目JiaoZiVideo让我迅速的实现了视频播放的相关功能。...加缩略载图 Glide.with(this).load(Url).into(myJzvdStd.thumbImageView); //推荐使用Glide 自动播放 自动播放有两种 这里随便选择添加一个...JZDataSource jzDataSource = new JZDataSource(map, "饺子不信"); jzDataSource.looping = true...两个变量控制全屏前后的屏幕方向 不保存播放进度 Jzvd.SAVE_PROGRESS = false; 取消播放时在非WIFIDialog提示 Jzvd.WIFI_TIP_DIALOG_SHOWED=true...(new MyUserActionStd()); /** * 这只是给埋点统计用户数据用的,不能写和播放相关的逻辑,监听事件请参考MyJzvdStd,复写函数取得相应事件

5.1K20

ExoPlayer漫谈之解码器复用

基于我们对MediaCodec使用方式和原理的熟悉,我们在使用MediaCodec的时候,首先要初始化,codec configure, codec start等流程,经过这些流程,codec分配内存来存储...started状态, 在此状态下,渲染器使用持有的解码器实例来播放视频 ? 在2.10之前的版本中,只要视频渲染器保持在启用和启动状态,ExoPlayer就会尽可能重复使用视频解码器。...一句话, 想复用codec实例,不能调用stop方法,不能将codec置为disabled状态 ExoPlayer 2.10版本之后的codec复用 2.10版本可以保证在播放新的视频源的时候复用播放器解码器资源...我们如何复用解码器 保证你播放的视频的格式是相同的,例如短视频信息流都是H264/AAC编码格式 如果使用ExoPlayer播放器,最好使用同一个ExoPlayer实例,因为codec实例是封装在ExoPlayer...(...)函数,这个函数的使用方式是比较复杂的,不能误用 https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/ExoPlayer.html

2.1K31

ExoPlayer 自适应流切换分析

一、前言 自适应流切换属于多路流切换的方式中的一种,ExoPlayer作为MediaCodec使用的集大成者,不仅具备通过MergingMediaSource实现不同流的组合切换,同样也具备基于MGEG-DASH...在ExoPlayer中,MergingMediaSource 中的同一类型(视频类型、音频类型、字幕类型等)的数据,由于缺乏必要的码率参数, 无法将相似Format的Track数据合并为一组,因此使用的...解析时清单文件时,如果使用的是HLS协议,ExoPlayer内部利用HlsPlaylistParser类作为清单文件解析工具,如果是DASH则使用DashManifestParser解析清单,依次类推,...; applyLegacyRendererOverrides(mappedTrackInfo, parameters, definitions); //三次过滤,对Renderer不能使用解除映关系...答案是否定的,因为MergingMediaSource合并的是完整的资源,在使用过程中并不会调用TrackSelection相关方法,当然ExoPlayer也没有实现资源的动态分片。

1.1K30

选择最新 Chromium,支持 H264 H265

赶紧加到编译选项中: ffmpeg_branding = "Chrome" proprietary_codecs = true 问题得到圆满的解决?答案是没有。...最后需要说明一下,不能简单说 Chromium 105 之后的版本支持 H264 / H265,在 Android 上,还取决于 MediaCodec 组件的解码能力,Chromium 只是把上面的流程走通了...如何判断系统的 MediaCodec 对各种视频编码格式的支持,这里需要介绍 google 的开源播放器 exoplayerExoPlayer 是适用于 Android 的应用程序级媒体播放器。...exoplayer 的项目地址: https://github.com/google/ExoPlayer 构建和安装 exoplayer 后,可以使用命令行来播放指定的视频: $ adb shell am...start -a com.google.android.exoplayer.demo.action.VIEW -d 如果某种格式在 chromium 中无法播放,先使用 exoplayer

72730

企鹅FM(Android) 播放成功率从 2 个 9 到 3 个 9 的蜕变

作者:张陈博男 业务层播放器架构演变 企鹅FM android端的播放器架构经历过两次较大的调整 第一次是2.1版本,首次引入了以FFmpeg为基础的腾讯视频SDK,替换了之前一直使用的系统播放器,结束了不同机型上表现不一和调用其...第二次是3.7版本,使用了Google的开源播放器内核ExoPlayer替换了腾讯视频SDK,到目前最新的3.8版本,点播成功率已经优化到99.9%,HLS直播成功率优化到99.2% 最近半年包括更换...ExoPlayer的诸多努力,都是朝着99.9%这个方向去的。...完善的错误信息统计,播放是一个复杂的行为,牵扯到数据的预加载,加载,解码和最终给到系统AudioTrack播放,当支持了分片加载和缓存后这个模型就变得更加复杂,于是错误是不能避免的,但最重要的是,如何通过错误的统计上报...于是当发现ExoPlayer能够很完善解决这两个问题的时候,我们就进行了替换 得益于ExoPlayer高度可扩展的特性,我们去除了本地代理模块,将分片加载和缓存以及音频的变速和特效处理模块直接集成进来

3.8K00

Vue3开发:视频播放器video.js使用详解

false:不自动播放 true自动播放,但是如果浏览器不允许自动播放的话就会失效 “muted”:静音后自动播放。...因为浏览器实际上是不允许自动播放声音,所以静音后自动播放基本不会失效,但是没有声音需要自己处理一下。 “play”:自动播放,与true效果一样。...不过chrome并不是完全禁止自动播放音频,而且要求在有用户交互行为前不允许自动播放音频,所以刚打开页面的时候(或刷新后)是不能自动播放音频的,但是如果用户有了交互,那么后续的音频都可以自动播放了。...但是我们可能有多条视频逐个播放,所以不能每个视频都静音或手动播放,那么你们就会说可以在第一条视频后设置自动播放,但是如果有其他页面来到播放页面,其实也可以自动播放,因为用户一定已经有过交互。...微信 在微信的浏览器中无法进行自动播放,如果使用上面的代码会发现视频没有自动播放,也没有任何弹窗。

5.6K30

看点视频秒开优化:解码器复用优化方案篇

2.1.2 Google的ExoPlayer方案不适合短视频场景 Google已经在ExoPlayer上进行了解码器复用实践,那么是否可以将对应方案直接应用到我们的业务呢?答案是不能的。...总而言之,基于短视频切换频繁的特点,直接使用ExoPlayer方案会存在以下困难: 无法在player之间复用,由于有预加载等优化手段,短视频场景一般不同视频对应不同的player,与方案冲突。...复用率低,因为ExoPlayer方案局限在player内部,多个player之间不能共享解码器,而解码器复用是有条件限制的,这样会让复用率非常低。 接入困难,复用逻辑与播放器逻辑耦合严重。...例如播放器B不能使用播放器A的解码器。 为了保证解码器对应的渲染层重新和C播放器绑定,复用时,需要将C视频对应的surface设置到解码器A上。...2.4 提高复用率 2.4.1 解码器不能直接复用 经过反复的实验和结合ExoPlayer的落地经验,摸索出解码器复用需要遵循下面条件: ?

5.6K126
领券