ExoPlayer中的媒体源扩展

时间:2018-06-21 09:25:17

标签: java android android-mediaplayer exoplayer

大家好,我正在尝试为Android应用构建视频播放器。我已经使用JavaScript API Media Source Extension(下面的代码)为网站创建了一个小型演示视频播放器。我希望使用类似的API为我的应用创建视频播放器。我已经了解到ExoPlayer具有相似的API,但是我找不到我想要的东西。因此,请帮助我找到下面列出的这些内容。

列表(JavaScript代码):

1| var mediaSource = new MediaSource;
2| var sourceBuffer = mediaSource.addSourceBuffer("avc1.42E01E, mp4a.40.2");
3| sourceBuffer.appendBuffer(buffer);

如何在我的Android应用中声明这些类似的行。请帮我。评论和参考会有所帮助。

我的HTML5代码:

<html>
<head>
  <meta charset="utf-8"/>
  <title></title>
</head>
<body>
  <video video-player width="640" height="360" controls></video>  
  <script>
    var video_player = document.querySelectorAll('[video-player]')[0],
        mediaSource = undefined,
        sourceBuffer = undefined,
        codec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';

    start();

    function start ()
    {
      function onMediaSourceOpen()
      {
        mediaSource.removeEventListener('sourceopen', onMediaSourceOpen);
        mediaSource.duration = 600;

        sourceBuffer = mediaSource.addSourceBuffer(codec);

        request_xhr ("test.mp4", function (buffer)
        {
          sourceBuffer.appendBuffer(buffer);
        });
      }
      mediaSource = new MediaSource;
      video_player.src = URL.createObjectURL(mediaSource);
      mediaSource.addEventListener('sourceopen', onMediaSourceOpen, false);
    }

    function request_xhr (url, cb)
    {
      var xhr = new XMLHttpRequest;
      xhr.open('get', url);
      xhr.responseType = 'arraybuffer';
      xhr.onload = function ()
      {
        cb(xhr.response);
      };
      xhr.send();
    }
  </script>
</body>
</html>

0 个答案:

没有答案