草庐IT

ExoPlayer2

全部标签

android - ExoPlayer 在旋转屏幕上的相同位置恢复

我在我的Activity中使用ExoPlayer,我想要的是在纵向和横向模式下流畅地播放视频。为此我正在做的是在onpause我保存currentPlayerPosition并寻找播放器onresume中的那个位置,但在旋转时它会突然晃动,视频会停止一会儿并播放到保存的位置。我的代码如下,请帮助我如何顺利切换纵向和横向模式。谢谢@OverridepublicvoidonPause(){super.onPause();if(mExoPlayerView!=null&&mExoPlayerView.getPlayer()!=null){mResumeWindow=mExoPlayerVie

使用 ExoPlayer 的 Android MediaPlayer 持久缓存

我想在我的应用中为流式音频数据实现持久缓存。我搜索了互联网并查看了一些现有的解决方案,其中大多数都需要您创建一个本地代理,该代理将数据写入缓存并将其提供给Android的内置MediaPlayer。我终于遇到了Google的ExoPlayer,它似乎完全符合我的要求!我相信为了创建缓存我需要使用CacheDataSource,但是我不知道如何使用它!我已经浏览过Google文档和演示应用程序,但它们根本没有提供太多关于缓存的信息。谁能帮我举个例子? 最佳答案 我从未使用过它,但以下关于如何构建音频渲染器的教程对我来说似乎非常简单。h

android - 在 Exoplayer 中更改播放速度

我希望实现一个具有可变速度播放(1.0x、1.25x、1.5x)的音频播放器,就像目前市场上典型的有声读物播放器一样。我想使用Google的Exoplayer库作为我的音频播放器库,但它们似乎不支持变速播放。关于如何实现这个的任何想法,或者任何支持这个的扩展? 最佳答案 函数setPlaybackSpeed()已被删除,现在您可以通过以下方式设置播放速度:PlaybackParametersparam=newPlaybackParameters(speed);mExoPlayer.setPlaybackParameters(para

android - 如何在 Exoplayer 的 HLS Streaming URL 中打开/关闭隐藏式字幕?

我正在使用Exoplayer版本2.0.4播放HLS流(.m3u8)。我的HLS流包含隐藏式字幕。我如何使用exoplayer控制隐藏式字幕?在需要时隐藏/显示字幕并根据需要更改字幕布局的位置是否可行? 最佳答案 我能够使用DefaultTrackSelector控制ExoPlayer2中的字幕选择。下面的代码是根据ExoPlayer2Demo的TrackSelectionHelper修改的类,应该引用更多的实现细节。要关闭字幕,您需要禁用文本轨道的渲染器并清除选择覆盖。trackSelector.setRendererDisabl

连接网络后Android ExoPlayer不恢复

我正在使用Exoplayer用于我的应用程序中的HLS流式传输。播放效果很好,但当我断开互联网连接并再次启用时,Exo播放器无法恢复视频播放。Exoplayer默认处理此问题,还是我需要手动处理此问题?这是我的代码..`publicclassPlayerActivityextendsActivityimplementsSurfaceHolder.Callback,OnClickListener,DemoPlayer.Listener,DemoPlayer.CaptionListener,DemoPlayer.Id3MetadataListener,AudioCapabilitiesRe

android - Exoplayer自适应hls流

我正在寻找好的和简单的例子/解释如何为HLSAdaptive流实现ExoPlayer。我是新手,没有经验和知识,所以我可以从git上的代码示例中了解如何执行此操作。“Activity部件”太多,因此初学者可以理解并在自己的项目中重复使用。有人可以帮助我学习和理解如何使用/实现ExoPlayer以实现此功能吗?谢谢! 最佳答案 开始使用ExoPlayer的最简单方法是将其添加为gradle依赖项。您需要确保在项目根目录的build.gradle文件中包含jcenter存储库:repositories{jcenter()}接下来,在模块

android - ExoPlayer2 - 如何使 HTTP 301 重定向工作?

我开始使用ExoPlayer流式传输一些音频。一切都很好,直到我遇到一个具有“301永久移动”重定向的URL。默认情况下,ExoPlayer2不处理该问题。我已经看过这个帖子:https://github.com/google/ExoPlayer/issues/423他们说要将新的“allowCrossDomainRedirects”标志添加到HttpDataSource或UriDataSource。问题是我不使用这些类中的任何一个://IamNOTusingSimpleExoPlayerbecauseIneedadifferentrenderer.exoPlayer=ExoPlaye

android - 如何在 ExoPlayer.STATE_ENDED 后重新启动 Exoplayer 上的视频

我在DemoPlayer的基础上使用Exoplayer。我想在ExoPlayer.STATE_ENDED被调度后在一些用户操作时从头开始重新启动/重播视频。之后我尝试使用seekTo(0)和mPlayer.setPlayWhenReady(true);但它什么也没做。 最佳答案 我已经将库更新为ExoPlayerr1.4.2并且它完成了工作...mPlayer.seekTo(0);mPlayer.setPlayWhenReady(true);//replayfromstart//重启后暂停视频mPlayer.seekTo(0);mP

android - 如何使用exoplayer横向全屏播放视频

我正在使用exoplayer在我的android应用程序中播放来自url的视频。在肖像中,一切都按预期工作(在Activity中使用viewpager、fragment和选项卡)。我的目标是在用户横向时全屏播放视频。这意味着只有视频会横向播放,所有其他细节都会消失并在纵向时返回到原始布局。请问我怎样才能做到这一点?或者实现这一目标的最佳方法是什么?任何示例代码将不胜感激。 最佳答案 我是菜鸟,所以这是我能提供的最好的帮助,顺便说一下,我在Exoplayer演示应用程序中对此进行了测试,我将exoplayer高度更改为600px,并应

java - 如何在 Android exoplayer 中播放原始 NAL 单元?

我知道exoplayer支持RTSP,但我需要适用于来自许多操作系统的播放器的C++代码,因此我需要在传递给exoplayer之前将C++中的RTP数据包解析为NAL单元我找到了一个方法decodeRTPpacketsusinglive555并提取其NAL单元。根据ExoPlayer'sdocumentation:ComponentscommontoallExoPlayerimplementationsare:AMediaSourcethatdefinesthemediatobeplayed,loadsthemedia,andfromwhichtheloadedmediacanbere