如何将webvtt文件与MediaPlayer一起用于Android中的音频曲目

如何将webvtt文件与MediaPlayer一起用于Android中的音频曲目,android,media-player,webvtt,Android,Media Player,Webvtt,我有一个.m3u8URL(用于曲目)和一个.vttURL(用于曲目详细信息)。 我正在用android开发一个收音机,每个音轨的细节都带有.vtt文件 所以我的问题是如何在MediaPlayer中同步跟踪url和.vtt url 我的收音机播放得很好,但我无法得到这首歌的细节 使用.vtt文件需要什么 答:因为收音机里有无数首歌,每首歌都有自己的细节。这就是为什么需要同步轨道及其细节 这是我的.vtt文件结构。 WEBVTT 1 00:00:00.000 --> 00:03:22.176

我有一个.m3u8URL(用于曲目)和一个.vttURL(用于曲目详细信息)。 我正在用android开发一个收音机,每个音轨的细节都带有.vtt文件

所以我的问题是如何在
MediaPlayer
中同步跟踪url和.vtt url

我的收音机播放得很好,但我无法得到这首歌的细节

使用.vtt文件需要什么

答:因为收音机里有无数首歌,每首歌都有自己的细节。这就是为什么需要同步轨道及其细节

这是我的.vtt文件结构。

WEBVTT

1
00:00:00.000 --> 00:03:22.176
NOW PLAYING: <b>Don&#39;t Go</b> - Jon Tarifa
NOTE https://play.unplug.de/images/artwork.php?id=113043444&w=400

2
00:03:22.176 --> 00:06:28.725
NOW PLAYING: <b>Treat You Better</b> - Shawn Mendes
NOTE https://play.unplug.de/images/artwork.php?id=112983776&w=400

3
00:06:28.725 --> 00:09:46.954
NOW PLAYING: <b>Used To Have It All</b> - Fais &amp; Afrojack
NOTE https://play.unplug.de/images/artwork.php?id=113044015&w=400

4
00:09:46.954 --> 00:13:45.330
NOW PLAYING: <b>Hurts</b> - Emeli Sandé
NOTE https://play.unplug.de/images/artwork.php?id=113029897&w=400
...
...
WEBVTT
1.
00:00:00.000 --> 00:03:22.176
现在演奏:唐';t走-乔恩·塔里法
注https://play.unplug.de/images/artwork.php?id=113043444&w=400
2.
00:03:22.176 --> 00:06:28.725
现在播放:对你更好-肖恩·门德斯
注https://play.unplug.de/images/artwork.php?id=112983776&w=400
3.
00:06:28.725 --> 00:09:46.954
现在玩:过去拥有一切-Fais&;玛丹娜
注https://play.unplug.de/images/artwork.php?id=113044015&w=400
4.
00:09:46.954 --> 00:13:45.330
现在玩:伤害-峨眉山
注https://play.unplug.de/images/artwork.php?id=113029897&w=400
...
...
如果有人知道怎么做,请回答


提前感谢。

MediaPlayer没有很好的支持。考虑

< P>我同意执行ExoPope是很好的。您可以看到支持的格式 在这里:

您可以按照开发人员指南进行后续操作。这有点混乱,但实际上很容易继续。不要忘记查看演示应用程序的源代码:


如果.vtt文件是一致的,我认为您只需要解析vtt文件中的曲目号、开始-结束时间、歌曲、艺术家和缩略图url。然后你就可以很容易地实现trak细节和曲目之间的同步。

我试过Exoplayer,它说它支持,但我没有任何带有音频曲目(.m3u8格式)的字幕。如果你有,请发送给我。我没有看到任何例子,一个轨道与外部WebVTT的网址播放。在此示例中,它具有HLS支持的视频,该视频具有字幕,但在曲目URL(.m3u8)内,而不是外部。你能提供一个从URL同步WebVTT播放音乐的例子吗?是的,在所有解决方案失败后,我只是手动解析它。它解析成功,但我还是遇到了问题。我试着一步一步地解释这个问题……第一步:创建处理程序,当MediaPlayer开始播放时,然后启动该处理程序……第二步:从MediaPlayer获取当前位置,并将其发送给我的类,该类在之前对其进行了解析,并根据当前位置将该曲目的标题和插图发送给我。但问题出现在步骤2中,即当收音机开始播放第二首曲目时,media player将我返回0作为当前位置,然后我的解析器再次给出相同的标题不确定我是否理解正确,但“MediaPlayer.getCurrentPosition()”返回播放位置,而不是曲目编号。因此,您应该实施自己的解决方案来跟踪曲目编号。一个简单的解决方案是创建一个自定义类作为曲目列表处理程序,它将保留可用曲目的列表,media player将从该类请求下一个曲目。