4

4MBのmpeファイルをAppEngineのblobstoreにアップロードしました。そのBlobキーを取得することにより、HTML5オーディオタグを使用してjspファイルで再生しようとしました。しかし、それは機能していません。コードを以下に示します。

<%@page import="com.google.appengine.api.blobstore.BlobKey" %>
<%@page import="com.google.appengine.api.blobstore.BlobstoreService" %>
<%@page import="com.google.appengine.api.blobstore.BlobstoreServiceFactory" %>
<html>
<head>
<meta http-equiv="Content-Type" content="audio/mpeg3; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
BlobKey blobKey = new BlobKey(request.getParameter("blob-key"));
%><%=request.getParameter("blob-key")%>

<audio controls="controls">
  <source src="<%=request.getParameter("blob-key")%>" type="audio/mp3" />
</audio>
</body>
</html>
4

1 に答える 1

3

オーディオタグのsrc属性は、blob(オーディオストリーム)をダウンロードできるURLを指している必要があります。代わりに、blobキーの値を保持するだけです(これはランダムな文字列であり、URLではないため、どこも指していません)。

BLOBを提供する方法を読み始めるのが最善です。

基本的に、BLOBを提供するユニバーサルURLはありません。リクエストを送信するだけで、BLOBを提供できます。BLOBを提供するサーブレットを作成し(リンクの例を参照)、HTML5オーディオコントロールを経由してそのサーブレットにポイントする必要がありますsrc="/path/to/your/blob/servlet?key=<%=request.getParameter("blob-key")%>"

于 2012-06-14T06:42:15.060 に答える