首页 > 解决方案 > 在我的 Android 应用中播放没有播放器视图的 HLS 广播

问题描述

我正在开发一个 android 应用程序来播放 HLS 收音机。我不想有播放器视图,因为没有用于流媒体的视频轨道。我想通过播放/暂停按钮控制音频播放。

我做了一些谷歌搜索,我发现有一个名为 ExoPlayer 的谷歌官方项目,它似乎具有播放 hls 的功能。我试过这个例子,但它显示它不支持音频编解码器。因此,我想知道是否有任何解决方案

  1. Exoplayer 的示例,用于在没有任何播放器视图的情况下在 android 应用程序中播放 HLS 音频
  2. 实现我的目标的任何其他解决方案

谢谢!

5月11日编辑

以下部分是我的代码,虽然它似乎是一个不推荐使用的方法

DefaultBandwidthMeter BANDWIDTH_METER = new DefaultBandwidthMeter();
                String userAgent = Util.getUserAgent(MainActivity.this, "ExoPlayerDemo");
                DefaultDataSourceFactory mediaDataSourceFactory = new DefaultDataSourceFactory(MainActivity.this, BANDWIDTH_METER,
                        new DefaultHttpDataSourceFactory(userAgent, BANDWIDTH_METER));
                HlsMediaSource mediaSource = new HlsMediaSource.Factory(mediaDataSourceFactory)
                        .createMediaSource(Uri.parse(url), null, null);
                TrackSelection.Factory trackSelectionFactory  = new AdaptiveTrackSelection.Factory(BANDWIDTH_METER);
                DefaultTrackSelector trackSelector = new DefaultTrackSelector(trackSelectionFactory);
                DefaultRenderersFactory renderersFactory =
                        new DefaultRenderersFactory(MainActivity.this, DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER);
                ExoPlayer player = ExoPlayerFactory.newSimpleInstance(MainActivity.this, trackSelector);
                player.setPlayWhenReady(true);
                if(mediaSource!=null) {
                    player.prepare(mediaSource);
                }

我将尝试使用来自官方网站的示例代码和播放器 ui,我将使用布局在 ui 上重叠。如果有任何其他建议,我将不胜感激。

标签: androidhttp-live-streamingradioexoplayer2.x

解决方案


推荐阅读