android - 在我的 Android 应用中播放没有播放器视图的 HLS 广播
问题描述
我正在开发一个 android 应用程序来播放 HLS 收音机。我不想有播放器视图,因为没有用于流媒体的视频轨道。我想通过播放/暂停按钮控制音频播放。
我做了一些谷歌搜索,我发现有一个名为 ExoPlayer 的谷歌官方项目,它似乎具有播放 hls 的功能。我试过这个例子,但它显示它不支持音频编解码器。因此,我想知道是否有任何解决方案
- Exoplayer 的示例,用于在没有任何播放器视图的情况下在 android 应用程序中播放 HLS 音频
- 实现我的目标的任何其他解决方案
谢谢!
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 上重叠。如果有任何其他建议,我将不胜感激。
解决方案
推荐阅读
- java - 在 Android Studio 中使用 VideoView '无法播放此视频'
- c# - WinForms如何打开资源文件夹中的文件
- graphviz - 创建循环时强制节点保持在顶部
- ios - 如何删除单元格并从firebase中删除 - SWIFT?
- python - 如何将 SQLAlchemy 查询转换为嵌套字典?
- python-3.x - 如何使用 MultiOutputRegressor 的 XGBoost 继续学习?
- python - 我的 return 语句没有返回值有问题
- c++ - NVAPI获取gpu输出物理索引
- c# - 实体框架 FirstOrDefault 谓词未返回预期结果
- python - DeprecationWarning:不推荐使用 AppURLopener 调用请求的样式。使用更新的 urlopen 函数/方法