Articles of exoplayer

Textureview获取Surface

我正在使用ExoPlayer库,它需要一个Surface,但我找不到任何方法,它可以检索Textureview的底层Surface。 有任何想法吗? Surfaceview有一个方法: surfaceView.getHolder().getSurface() 或者TextureView中没有表面?

ExoPlayer:从HTTP流中获取歌曲元数据

我使用下一个代码来播放ExaPlayer的音乐流: exoPlayer = ExoPlayer.Factory.newInstance(numRenderers, minBufSize, maxBufSize); String url = Helper.getPr().getString(“url”, “http://mp3.nashe.ru:80/ultra-128.mp3”); Uri uri = Uri.parse(url); Log.i(TAG, “Going to open ” + url); Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE); DataSource dataSource = new DefaultUriDataSource(getApplicationContext(), USER_AGENT); ExtractorSampleSource sampleSource = new ExtractorSampleSource(uri, dataSource, allocator, BUFFER_SEGMENT_COUNT * BUFFER_SEGMENT_SIZE); audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource); exoPlayer.addListener(this); exoPlayer.sendMessage(audioRenderer, MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, volume); exoPlayer.prepare(audioRenderer); exoPlayer.setPlayWhenReady(true); 但我找不到任何关于如何获取艺术家和当前歌曲名称等元数据的信息..是否有可能得到这样的信息? 非常感谢。

如何在底部显示迷你控制器或在整个应用程序中使用spotify或Google音乐等持久性媒体控件

我正在开发一个可以播放来自youtube或其他直播的video的应用,如果用户按下了/ home按钮,用户只能听到音频,然后他们可以再次看到video。 我已经创建了一个包含玩家并完成所有事情的服务。 在我的整个应用程序中,有许多活动和片段。 题 : 我想在播放的时候在每个屏幕的底部显示迷你控制器,你可以参考像Spotify,谷歌播放和其他音乐应用程序这样的应用程序。 当用户离开他们的主要媒体播放器活动/片段时,这些应用程序显示迷你控制器。 我如何在当前的应用程序中实现该function。 注意:我的应用程序包含许多活动和片段。 所以不仅有一项主要活动。 我试图find可能的解决方案: 1)第一个链接 ,这里他们建议在整个应用程序中只使用一个活动而其他只是片段,这在我的情况下是不可能的。 2) 在Android中折叠底栏(如谷歌音乐) :这里他们建议关于折叠和扩展底栏,我也在寻找这个animation,但还有一件事是我如何在整个应用程序中持久保持底栏用户导航到其他屏幕。 3) AndroidSlidingUpPanel ,这个库对我有帮助吗? 在整个应用程序中制作持久的底栏? 有人可以告诉我他们在整个申请过程中如何处理这件事情? 您可以find下面的图像,它可以让您清楚地了解我正在寻找什么。 MiniController图片:

Android – 在一个圆圈中显示ExoPlayer

我试图在一个圆圈内显示一个ExoPlayerView,覆盖另一个ExoPlayer(画中画): 我已经尝试将第二个玩家放在一个带圆角的框架内( 这个答案都是这个 )但玩家将总是逃离父框架并绘制video的完整矩形。 我发现这个解决方案使用了GLSurfaceView,但是这个解决方案使用的是经典的MediaPlayer而不是ExoPlayer。

将ExoPlayer添加到GLSurfaceView时获取黑屏

当我将Surfaceview添加到GLSurfaceView以播放video时,我有一个GLsurfaceview和videoSurfaceView,结果是我得到黑屏而不是video屏幕。 我正在正确地获取音频,但video屏幕不会显示,并且在整个video期间它仍然是黑色的。 两者都用于不同目的GLSurfaceView for Page turn,而Video surfaceview用于ExoPlayer。 GLSurfaceView: public class CurlView extends GLSurfaceView implements View.OnTouchListener, CurlRenderer.Observer { } ExoPlayer的videoSurfaceView: public class VideoSurfaceView extends SurfaceView { }

Android – Exoplayer 2 – 同时播放多个声音/音频 – MergingMediaSource

我在我的应用程序中使用SimpleExoPlayer几个实例来播放音频文件(Wav文件)。 我想同时播放所有这些文件。 现在这些文件之间存在一些小差距。 是否可以只有一个SimpleExoPlayer实例包含更多声音文件? 我尝试过使用MergingMediaSource但它现在正在运行。 它只播放一个Wav文件(不是全部)。 码: MediaSource ms = new MergingMediaSource(audioSources.toArray(new MediaSource[audioSources.size()])); mMediaPlayerTracker1.addListener(myExoPlayerEventListener); mMediaPlayerTracker1.prepare(ms); //Adding MediaSource to the ArrayList audioSources.add(new ExtractorMediaSource( Uri.fromFile(new File(path)), mediaDataSourceFactory, defaultExtractorsFactory, mainHandler, exoEventListener));

将android.media.Image绘制到曲面

我有这个Android应用程序。 它使用SurfaceView ,从Surface获取SurfaceHolder 。 它还使用ExoPlayer来传输video。 但是我已经实例化了一个ImageReader ,获取了Surface并传递给了ExoPlayer 。 现在,我在ImageReader.OnImageAvailableListener#onImageAvailable ,我访问最新的Image 。 我想操纵Image并将新数据发送到“ SurfaceView ” Surface 。 如何将android.media.Image “绘制”到android.view.Surface ?

如何在Android ExoPlayer中显示字幕

我正在使用Exoplayer进行流媒体url。 我想在exoplayer中添加srt文件。 但我认为播放器不支持srt文件,因此我将文件内容放在1个variables中。 如何在android exoplayer中显示字幕?

如何从Android中的SimpleExoPlayerView中删除“下一个”和“上一个”按钮

我使用ExoPlayer在我的Android应用程序上播放音频,并使用SimpleExoPlayerView作为控制器。 默认控制器有五个按钮,播放/暂停,前进,后退,下一个和上一个。 我的应用程序只使用播放/暂停,前进和后退,所以我想从控制器中删除下一个和上一个按钮,但我找不到如何使用SimpleExoPlayerView。 我该如何实现这一目标?

如何隐藏ExoPlayer2中的控制按钮

如何隐藏ExoPlayer2中的所有控制器(开始按钮,暂停等)它们不存在,并且屏幕始终是满的。 我看了,有simpleExoPlayerView.setUseController(true)方法; 但它会停用播放器…… public void setUseController (boolean useController) { this.useController = useController; if (useController) { controller.setPlayer(player); } else { controller.hide(); controller.setPlayer(null); } } 如何隐藏或删除这些组件?