当前位置: 首页 > 知识库问答 >
问题:

最简单的沙卡玩家不工作

谭浩皛
2023-03-14

我只想让我的shaka播放器工作。我已经列出了我电影目录中的所有文件。我的清单文件(. mpd)由位于同一目录中的5个不同的网络视频流文件组成(我意识到音频不存在,这在这种情况下并不重要)。

我基本上遵循了网站上的教程:

https://shaka-player-demo.appspot.com/docs/api/tutorial-welcome.html

我不知道为什么这行不通。有人能帮忙吗?

电影目录:

Movie_WebM.html  
shaka-player.compiled.js  
Movie.js  
Movie_Manifest.mpd              
Movie_160x90_250k.webm                           
Movie_320x180_500k.webm  
Movie_640x360_1000k.webm  
Movie_640x360_750k.webm     
Movie_1280x720_500k.webm

电影_WebM。html:

<!DOCTYPE html>
<html>
  <head>
    <script src="shaka-player.compiled.js"></script>
    <script src="Movie.js"></script>
  </head>
  <body>
    <video id="video"
           width="640"
           poster="//shaka-player-demo.appspot.com/assets/poster.jpg"
           controls></video>
  </body>
</html>

电影js:

var manifestUri = 'Movie_Manifest.mpd';

function initApp() {
  shaka.log.setLevel(shaka.log.Level.V1);
  // Install built-in polyfills to patch browser incompatibilities.
  shaka.polyfill.installAll();

  // Check to see if the browser supports the basic APIs Shaka needs.
  if (shaka.Player.isBrowserSupported()) {
    // Everything looks good!
    initPlayer();
  } else {
    // This browser does not have the minimum set of APIs we need.
    console.error('Browser not supported!');
  }
}

function initPlayer() {
  // Create a Player instance.
  var video = document.getElementById('video');
  var player = new shaka.Player(video);

  // Attach player to the window to make it easy to access in the JS console.
  window.player = player;

  // Listen for error events.
  player.addEventListener('error', onErrorEvent);

  // Try to load a manifest.
  // This is an asynchronous process.
  player.load(manifestUri).then(function() {
    // This runs if the asynchronous load is successful.
    console.log('The video has now been loaded!');
  }).catch(onError);  // onError is executed if the asynchronous load fails.
}

function onErrorEvent(event) {
  // Extract the shaka.util.Error object from the event.
  onError(event.detail);
}

function onError(error) {
  // Log the error.
  console.error('Error code', error.code, 'object', error);
}

document.addEventListener('DOMContentLoaded', initApp);

共有1个答案

夔博
2023-03-14

尝试在本地主机上运行。您可以使用Python SimpleHTTPServer:

python -m SimpleHTTPServer

打开

localhost:8000/{MOVIE_DIR}/Movie_WebM.html

EME需要一个安全的URL才能使用。这意味着您必须使用https或本地主机。目前只有Chrome强制执行,但其他浏览器将来也会执行。此外,由于混合内容要求,如果您的网站使用https,那么您的清单和每个片段也需要使用https。-https://shaka-player-demo.appspot.com/docs/api/tutorial-drm-config.html

 类似资料:
  • 背景:目前我正在做一个演示项目,目的是了解沙卡玩家是否是我们未来可行的选择。就项目而言,我无法使用标准控件,因为我们使用自定义控件。该项目正在开发中。 问:如果不使用标准的“控件-全屏”方式,我该如何让沙卡播放器从全屏开始? 提前谢谢!

  • 启用ABR时,播放从选定的曲目开始,但快速跳到shaka player中的最低比特率曲目: 预期的 应选择轨道(轨道[id=14]),并在带宽可用时在同一轨道中继续。 我所尝试的 起初,我厌倦了设置abr。manifestparsed事件上的defaultBandwidthEstimate为1927692(磁道[id=14]),但它选择了下一个磁道(磁道[id=13])。所以我做了以下工作,以找到

  • 问题是: 所以我在制作这个2D平台游戏时遇到了一个问题。当玩家跳到一个平台上并离开它时,重力不会影响它,它不会掉下来,直到你再次按下跳跃键,就好像它认为它仍然在地面上,直到你更新他。我已经把问题缩小到重力或碰撞,但找不到问题。有人能帮忙吗?我在下面附上代码。 代码:

  • 我正在Forge1.8中编写一个mod,我正在利用SidedProxy系统。我为测试添加了一些项/块,但我的mod大多需要在东西的服务器端控制逻辑/保存时写读一些数据。以我的理解,在一款minecraft游戏中,总有一个服务器,在singleplayer中就是内部服务器。但是,当从eclipse运行时,ServerProxy永远不会运行,因为我没有看到来自print语句的输出,并且块处理程序也没有

  • 我知道你可以得到损坏的原因 在实体损坏事件中,但是我还没有找到返回造成损坏的实体的方法。我需要找出这一点,这样我就可以检查玩家的库存中是否有某个物品。

  • 我正在编程我的第一个实际2D游戏(吃豆人)。我认为比赛看起来不错,但我有一个大问题--碰撞。对象仍然存在,我被困住了,所以我决定寻求有丰富经验的真正程序员的帮助。(我当然做了一些研究,但我不想做复制粘贴之类的事情,因为我没搞懂)。就像我说的,游戏差不多完成了,我所需要做的就是让帕克曼继续前进。像例子一样,我画大的白色矩形作为平台。我希望有人能帮助我。在这个项目中,我学到了很多东西,碰撞是我理解的东