首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >音频(Mp3)在安卓和IOS系统中的应用

音频(Mp3)在安卓和IOS系统中的应用
EN

Stack Overflow用户
提问于 2014-09-11 19:13:22
回答 1查看 2K关注 0票数 2

我已经在fedora 20上为python2.7安装了kivy版本1.8.1

由于我刚开始使用kivy ,我想知道我是否可以在android和IOS中使用kivy进行音频流传输。

我试过一个例子,但它甚至不在我的桌面上播放

代码语言:javascript
复制
from kivy.app import App
from kivy.core.audio import SoundLoader

class TestApp(App):
    def build(self):
        sound = SoundLoader.load('http://194.106.198.57:8090/club_low.mp3')
        if sound:
            print("Sound found at %s" % sound.source)
        print("Sound is %.3f seconds" % sound.length)
        sound.play()
TestApp().run()

上述代码的输出:

代码语言:javascript
复制
[INFO              ] Kivy v1.8.0
[INFO              ] [Logger      ] Record log in /home/mohammad/.kivy/logs/kivy_14-09-11_13.txt
[INFO              ] [Factory     ] 157 symbols loaded
[DEBUG             ] [Cache       ] register <kv.lang> with limit=None, timeout=Nones
[DEBUG             ] [Cache       ] register <kv.image> with limit=None, timeout=60s
[DEBUG             ] [Cache       ] register <kv.atlas> with limit=None, timeout=Nones
[INFO              ] [Image       ] Providers: img_tex, img_dds, img_pygame, img_gif (img_pil ignored)
[DEBUG             ] [Cache       ] register <kv.texture> with limit=1000, timeout=60s
[DEBUG             ] [Cache       ] register <kv.shader> with limit=1000, timeout=3600s
[DEBUG             ] [Audio       ] register SoundPygame
[INFO              ] [Audio       ] Providers: audio_pygame (audio_pygst, audio_sdl ignored)
[DEBUG             ] [App         ] Loading kv </home/work/python/pama_radio/andriod_app/test.kv>
[DEBUG             ] [App         ] kv </home/work/python/pama_radio/andriod_app/test.kv> not found
[WARNING           ] [Audio       ] Unable to find a loader for <http://194.106.198.57:8090/club_low.mp3>
 Traceback (most recent call last):
   File "/home/work/python/pama_radio/andriod_app/main.py", line 11, in <module>
     TestApp().run()
   File "/usr/lib/python2.7/site-packages/kivy/app.py", line 766, in run
     root = self.build()
   File "/home/work/python/pama_radio/andriod_app/main.py", line 9, in build
     print("Sound is %.3f seconds" % sound.length)
 AttributeError: 'NoneType' object has no attribute 'length'

Process finished with exit code 1

我尝试了视频和视频播放器模块,它只在桌面上工作,它不能在android上工作(我没有尝试IOS)请告诉我是否可以使用其他格式(比如aac和ogg)。

EN

回答 1

Stack Overflow用户

发布于 2014-09-11 22:13:28

之所以会出现这种情况,是因为你在桌面上使用的是gstplayer (基于GStreamer的音频提供商),而Android则使用pygame作为它的音频提供者。虽然GStreamer支持跨网络的流媒体音频,但pygame不支持。

如果您查看在桌面上运行应用程序的输出,您应该会看到以下内容:

代码语言:javascript
复制
[INFO   ] [Audio       ] Providers: audio_gstplayer, audio_pygame (audio_ffpyplayer, audio_sdl ignored)

这意味着Kivy同时使用gstplayer和pygame -如果gstplayer不能处理给定的媒体类型,Kivy将尝试使用pygame。但是gstplayer在Android上是不可用的:

代码语言:javascript
复制
[INFO              ] [Audio       ] Providers: audio_pygame (audio_pygst, audio_sdl ignored)

在iOS上,使用SDL音频提供商,我相信这可能支持流,所以您可能会有更好的运气。您还可以通过提交关于github的问题请求我们添加此功能。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25795396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档