如何使用kivy SoundLoader加载“文件像对象”而不是文件名?

时间:2016-05-16 10:52:58

标签: mongodb kivy

我需要在mongodb中播放来自gridfs的mp3文件。我将得到一个类似文件的对象而不是文件名(到系统盘)。

我无论如何都无法使用SoundLoader直接播放像对象一样的文件。我在这里检查了代码https://kivy.org/docs/_modules/kivy/core/audio.html。似乎kivy音频不支持它。我对吗?我的意思是,像wave模块一样,你可以用像object这样的文件打开它。我不喜欢使用wave,因为它可能在不同的操作系统中存在问题。

  

wave.open(文件[,模式])

     

如果file是字符串,请按此打开文件   name,否则将其视为可搜索的文件对象。

将数据加载到SouldLoader而不是文件名的任何其他方式?非常感谢。

1 个答案:

答案 0 :(得分:0)

这可能不是一个直接的答案,但现在可能是另一种选择。我可以在GridFS中使用GridFSBucket以流方式下载文件,然后将临时文件保存到磁盘。最后由SoundLoader加载。通过这种方式,它可以解决大型媒体文件问题。此解决方案也适用于图像或视频,但当然需要一些磁盘存储。