1

我已经尝试了浏览器上来自 gridFS 的链接流音频/视频文件中给出的解决方案

仍然当我使用我的代码时,文件会被下载或使用默认浏览器播放器播放。我的代码如下:

header('Content-type: audio/mpeg;');

$stream = $file->getResource();
while (!feof($stream)) {
      echo fread($stream, 8192);
      }

我实际上想要一个构建 API 的解决方案,以便我可以从 mongodb GridFS 检索音频/视频并从电话应用程序中播放它。

迫切需要帮助。欢迎任何有关该主题的帮助。

4

1 回答 1

0

我找到了一种方法来制作一个 API,用于在 HTML 音频视频图像小部件中直接从 mongoDB GridFS 播放文件。唯一的问题是它使用从 mongoDB 检索到的数据作为 base64 数据。现在我正在谈论的问题在这个链接中讨论:

http://davidbcalhoun.com/2011/when-to-base64-encode-images-and-when-not-to

我希望您在决定使用我正在使用的解决方案之前发现它很有用。我的解决方案如下:

$stream = $file->getResource();
$stringcoded = stream_get_contents($stream); //converts the stream to string data
$encoded = base64_encode($stringcoded);  //encodes string data to base64

现在您已经拥有以 base64 编码的音频、视频或图像数据,您只需在 html5 小部件的“src”部分中回显数据。

我从一个非常有用的博客中得到了这个解决方案。如果您需要更多帮助,请通过它:

http://www.iandevlin.com/blog/2012/09/html5/html5-media-and-data-uri

对此问题的任何增强解决方案都非常受欢迎。

于 2013-08-14T12:33:45.743 回答