【问题标题】:How to play any type of m8u3 live tv streaming on android?如何在 android 上播放任何类型的 m8u3 直播电视流?
【发布时间】:2022-09-28 04:09:20
【问题描述】:

我可以在我的应用程序上播放一些直播电视流,但我无法播放其中一些。 在 VLC 游戏上我可以玩这个:https://raw.githubusercontent.com/taodicakhia/IPTV_Exception/master/channels/af/tolotv.m3u8

还有这个:http://51.210.227.142/hls/stream.m3u8

但在安卓应用中,我只能玩这个:http://51.210.227.142/hls/stream.m3u8 我尝试了很多,但我无法弄清楚如何玩第一个:https://raw.githubusercontent.com/taodicakhia/IPTV_Exception/master/channels/af/tolotv.m3u8

这是我的代码:

private void playVideo() {
    try {
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        MediaController mediaController = new MediaController(AfghanistanTvAct.this);
        myVideoView.setMediaController(mediaController);
        Uri videoURI = Uri.parse(url);
        myVideoView.setVideoURI(videoURI);
        myVideoView.requestFocus();
        myVideoView.setOnPreparedListener(mp -> myVideoView.start());

    } catch (Exception e) {
        Toast.makeText(this, \"\" + e.getMessage(), Toast.LENGTH_SHORT).show();
    }
}

    标签: java android-studio http-live-streaming iptv


    【解决方案1】:

    如果您在浏览器检查器中查看服务器的响应,您会看到播放的视频中的 MIME 类型或内容类型是:

    • 应用程序/vnd.apple.mpegurl

    而未播放的视频的 MIME 类型为:

    • 文本/纯文本;字符集=utf-8

    我怀疑这可能会导致您的问题。

    请注意,不播放的视频也是主播放列表 - 即它包含指向其他 m3u8 文件的链接。

    这很难验证,因为在线 HLS 分析器和一些测试播放器似乎能够处理此问题,并且仍然请求具有视频 MIME 类型的单个视频流,并且如果单独请求,可能会为您播放。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-21
      • 2017-04-22
      • 1970-01-01
      • 2022-06-21
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多