Articles of exoplayer

ExoPlayer缓存

我正在努力使用ExoPlayer通过http播放video。 我想在video加载后保存video并从缓存中播放。 如何从缓存实现缓存和回放? 可以给我任何样品。

Exo播放器DASH Streaming示例

我正在尝试使用Google的ExoPlayer在Android设备上播放DASHvideo( http://developer.android.com/guide/topics/media/exoplayer.html )。 文档非常非常差,我找不到一些最简单的DASH工作示例 (如果有人这样做)。 在video( https://www.youtube.com/watch?v=6VjF638VObA#t=462 )中,它看起来很简单,但实际上有很多未知对象。 我想只使用ExoPlayer库而不使用他们的github演示,因为它非常复杂,我找不到添加测试URL的方法,因为所有样本都来自YouTube。 谢谢

ExoPlayer:将控制器置于video下方而不重叠video

我有一个PlayerView ,它以纵向方式占据Activity的上半部分,屏幕的下半部分显示一些文本。 我需要在video下设置控制器而不重叠video内容 (它将始终显示)。 默认情况下,当用户触摸video时,控制器会出现在video底部,覆盖video的底部。 我的情况我需要控制器粘在video下面而不与video内容交叉。 我浏览了SimpleExoPlayer和PlayerView API,但我还没有find任何方法。 问题:如何使用ExoPlayer将控制器置于video下? 这是布局的样子:

使用ExoPlayer重现加密video

我在Android中使用ExoPlayer ,我正在尝试重现本地存储的加密video。 ExoPlayer的模块化允许创建可以在ExoPlayer中注入的自定义组件,这似乎就是这种情况。 实际上,经过一些研究后我意识到,为了实现这个任务,我可以创建一个自定义DataSource并覆盖open() , read()和close() 。 我也find了这个解决方案 ,但实际上这里整个文件只需一步解密并存储在一个清晰的输入流中。 在许多情况下这可能是好的。 但是,如果我需要重现大文件怎么办? 所以问题是:如何在ExoPlayer中重现加密video,“在线”解密内容(不解密整个文件)? 这有可能吗? 我尝试创建一个具有open()方法的自定义DataSource: @Override public long open(DataSpec dataSpec) throws FileDataSourceException { try { File file = new File(dataSpec.uri.getPath()); clearInputStream = new CipherInputStream(new FileInputStream(file), mCipher); long skipped = clearInputStream.skip(dataSpec.position); if (skipped < dataSpec.position) { throw new EOFException(); } if (dataSpec.length != C.LENGTH_UNBOUNDED) { bytesRemaining = […]

在ExoPlayer上静音

我正在使用名为ExoPlayer的谷歌新MediaPlayer,但无法find静音的方法 是否有一种简单的方法可以在Google ExoPlayer上静音音轨? 还是改变音量?

ExoPlayer 2播放列表监听器

我正在使用ExoPlayer 2.x的新function来播放这样的音频文件列表: List playlist = new ArrayList(); … ConcatenatingMediaSource concatenatedSource = new ConcatenatingMediaSource( playlist.toArray(new MediaSource[playlist.size()])); mExoPlayer.prepare(concatenatedSource); mExoPlayer.setPlayWhenReady(true); 这工作正常,但为了相应地更新我的UI,我需要知道当前正在播放哪首曲目以及该曲目的进度。 ExoPlayer有听众吗? 谢谢!

Android ExoPlayer onProgressChanged

如何监控ExoPlayer进度变化? 我试图实现一个隐藏的MediaController并重写setOnSeekBarChangeListener方法,但现在没有成功。 我想知道是否有另一种方式来听取ExoPlayer进展。

Exoplayer无限缓冲状态

我正在尝试使用React Nativevideo包将exoplayer用于我的React Native应用程序。 我有一个同时包含HLS流和mp4video的应用程序,这些video存储在我的服务器(https)上。 浏览video时,播放器会陷入无限缓冲状态并保持这种状态,直到我重新启动应用程序。 这完全是随机的。 重现问题的唯一方法就是观看video并多次切换源。 查看Android logcat时没有错误。 adb bugreport也不起作用。 05-22 10:51:07.884 22911-22911/eu.domain.app I/EXO PLAYER: isBuffering – true 05-22 10:51:08.180 22911-25217/eu.domain.app I/ACodec: [] Now uninitialized 05-22 10:51:08.181 22911-25221/eu.domain.app I/ACodec: [] onAllocateComponent 05-22 10:51:08.184 22911-25221/eu.domain.app I/OMXClient: MuxOMX ctor 05-22 10:51:08.210 22911-25221/eu.domain.app I/ACodec: [OMX.Exynos.avc.dec] Now Loaded 05-22 10:51:08.214 22911-25220/eu.domain.app I/MediaCodec: [OMX.Exynos.avc.dec] setting surface generation to 23460870 […]

在ExoPlayer中使用缓存

我正在寻找在ExoPlayer中实现缓存的任何示例。 ExoPlayer在其库中有关于缓存的不同类,Google在此video中解释我们可以使用CacheDataSource类实现它,但Google不提供任何演示。 不幸的是,使用它似乎相当复杂,所以我目前正在寻找示例(在Google上没有成功)。 有没有人成功或有任何有用的信息? 谢谢。

ExoPlayer AudioTrack Stuttering

我有自己的TrackRenderer实现,用于我集成的mp3解码器。 当棒棒糖设备进入待机状态并返回时,它并不总是可重复但音频开始断断续续,直到我强制停止应用程序。 一开始,我认为这是我实现的解码器,所以我尝试将口吃轨道与正常轨道之间的文件输出进行比较。 这些文件是相同的,然后我认为它可能需要很长时间来解码,所以我增加了缓冲区大小并调用了setPlayReady false,以便数据缓冲。 它像我没有停顿一样口吃。 我目前认为问题在于我的音轨实现或操作系统错误。 该错误仅发生在Lollipop设备上。 谢谢。 我的TrackRenderer使用与AudioTrackRenderer相同的工作流程,我自己的原生实现为mp3解码器而不是opus。