简体   繁体   English

从 Google App Engine 流式传输音频

[英]Streaming audio from Google App Engine

Is it possible to stream audio-file from BlobStore on AppEngine in general?一般来说,AppEngine 上是否可以从BlobStore获取 stream 音频文件?
And if yes, what about streaming .mp3 file from direct url?如果是,那么如何从直接 url 流式传输.mp3文件呢?

Yep!! 是的! This is my implementation: 这是我的实施:

public class Serve extends HttpServlet {

    private static final long serialVersionUID = 5603629129606331547L;

    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
        BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
        BlobstoreServiceFactory.getBlobstoreService().serve(blobKey, res);
    }
}

.. and this is the web.xml: ..这是web.xml:

<servlet>
        <servlet-name>Serve</servlet-name>
        <servlet-class><my-package>.Serve</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Serve</servlet-name>
        <url-pattern>/serve</url-pattern>
    </servlet-mapping>

pay attention that "direct url" (getServingUrl I think you mean) exists only for images: https://developers.google.com/appengine/docs/java/images/overview#Transforming_Images_from_the_Blobstore 请注意“直接网址”(getServingUrl,我认为你的意思)仅适用于图片: https//developers.google.com/appengine/docs/java/images/overview#Transforming_Images_from_the_Blobstore

In general the answer is no :一般来说,答案是否定的:

https://cloud.google.com/appengine/docs/standard/go/how-requests-are-handled#streaming_responses https://cloud.google.com/appengine/docs/standard/go/how-requests-are-handled#streaming_responses

As others have indicated you could chunk up your data to limit the "cost" and then have your client control when to get the next chunk.正如其他人所指出的那样,您可以将数据分块以限制“成本”,然后让您的客户控制何时获取下一个数据块。

A better solution Use Cloud Run instead:更好的解决方案改用 Cloud Run:

https://cloud.google.com/blog/products/serverless/cloud-run-now-supports-http-grpc-server-streaming https://cloud.google.com/blog/products/serverless/cloud-run-now-supports-http-grpc-server-streaming

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM