如何在SAP创作工具中启用mp3内容类型 [英] How to enable mp3 content type in SAP Authoring Tool

查看:0
本文介绍了如何在SAP创作工具中启用mp3内容类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用SAP创作工具播放一些SCORM课程。 当我尝试播放一门课程时,没有播放任何音频元素。

我检查了Chrome控制台,那些mp3文件有404个错误。它们存在,但玩家找不到它们。

我试着直接播放mp3文件,直接在浏览器中打开一些URL,下载对话框就会出现。似乎用于SAP内容播放器的服务器不支持mp3? 以下是mp3 url的示例:

http://127.0.0.1:59128/lms/media/(1.XXX.0.12373953.)/my_test_course/statoil_sap_test_-2624/runtime_media/sound/kalimba.mp3

是否有办法将SAP内容播放器配置为允许播放mp3?

当我尝试打开URL时

http://127.0.0.1:49910/lms/media/(1.XXX.0.5732618.)/my_course/my_course/runtime_media/sound/eng/count_1.mp3

我直接收到404错误。

尝试加载mp3音频时出现相同错误。这是一个加载音频的代码(简称为): 当我运行此代码时,我收到404错误:

$("#mySound").attr('src', getAudioElementPath());
var sound = $("#mySound")[0];
sound.play();

以下是来自Chrome网络控制台的完整请求和响应信息:

Remote Address:127.0.0.1:49910
Request URL:http://127.0.0.1:49910/lms/media/(1.XXX.0.5732618.)/my_course/my_course/runtime_media/sound/eng/count_1.mp3
Request Method:GET
Status Code:404 404 (NOT FOUND): /lms/media/(1.XXX.0.5732618.)/my_course/my_course/runtime_media/sound/eng/count_1.mp3
-----------------
Request Header
-----------------
GET /lms/media/(1.XXX.0.5732618.)/my_course/my_course/runtime_media/sound/eng/count_1.mp3 HTTP/1.1
Host: 127.0.0.1:49910
Connection: keep-alive
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36
Accept: */*
Referer: http://127.0.0.1:49910/lms/media/(1.XXX.0.5732618.)/my_course/my_course/start_page.html
Accept-Language: en-US,en;q=0.8,sr;q=0.6,es-419;q=0.4,es;q=0.2
Cookie: JSESSIONID=62F306F8F6BFBDBCD91AE22D2BA44F01
Range: bytes=0-
-----------------
Response Headers
-----------------
HTTP/1.1 404 404 (NOT FOUND): /lms/media/(1.XXX.0.5732618.)/my_course/my_course/runtime_media/sound/eng/count_1.mp3
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Content-Type: text/html;charset=utf-8
Content-Length: 1331
Date: Wed, 10 Dec 2014 15:21:11 GMT

无论如何,此代码返回状态200(正常):

$http.get(getAudioElementPath()).
    success(function(data, status, headers, config) {
        handleSuccessPath();

    }).
    error(function(data, status, headers, config) {
        handleErrorPath();
    });

知道如何在SAP创作工具中播放mp3文件吗?

这是一个关于SAP内容播放器的问题示例课程: https://www.dropbox.com/s/mkx2g4eiz7xng6t/sap_test.zip?dl=0

本课程在SCORM云上运行良好,但SAP内容播放器有问题。

我还在SAP门户网站上发布了问题...等待解决方案: http://scn.sap.com/message/15611144#15611144

推荐答案

我想我找到了为什么MP3无法在SAPContewnt播放器中播放的原因。 问题出在com.sap.hcm.ls.lms.servlets.control.MediaHandler类中

SAP正在尝试通过MediaHandler为mp3文件提供服务器,但存在错误。 这是一个有问题的代码:

String range = request.getHeader("Range");
MediaLoader.ByteRange rangeSpec = null;
if ((range != null) && (range.startsWith("bytes=")))
{
  range = range.substring(6);
  int inx = range.indexOf("-");
  if (inx > 0)
  {
    int start = Integer.parseInt(range.substring(0, inx).trim());
    int end = Integer.parseInt(range.substring(inx + 1).trim());

    rangeSpec = new MediaLoader.ByteRange(start, end);
  }
}
首先,它从头文件中提取"Range",并期望格式为"bytes=-" 因此有效值可以是"字节=0-100"或字节=0-200 但在我们的示例中,"range"的值为"bytes=0-",因此它在以下位置解析失败:

int end = Integer.parseInt(range.substring(inx + 1).trim());

在错误处理过程中,Catch节末尾返回404:

response.sendError(404, "404 (NOT FOUND): " + path);

这是错误的信息。

SAP正在以一种非常有问题的方式处理标头属性解析错误-它说这样的资源不存在!

这是非常糟糕的。如果能提供一些反馈,让用户了解为什么mp3不能播放,那就太好了。

很明显,这是SAP内容播放器错误。

这篇关于如何在SAP创作工具中启用mp3内容类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆