带NSSound的PyObjC流式音乐

2024-09-27 23:17:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Python+PyObjC制作一个简单的音乐流应用程序,如下所示this blog

import Foundation
from AppKit import NSSound
sound = NSSound.alloc()
url = Foundation.NSURL.URLWithString_("http://206.217.213.235:8050/")
sound.initWithContentsOfURL_byReference_(url, True)

sound.play()

但它失败了

^{pr2}$

为什么?在


Tags: fromimport应用程序url音乐pyobjcblogthis
2条回答

添加到@williamdenman的答案initWithContentsOfURL_byReference_返回nil,这意味着在创建声音时发生了错误。在本例中,我们知道它是因为URL应该指向NSSound能够理解的有效文件(AIFF、WAVE、NeXT、SD2、AU和MP3)。在

即使NSSound在这个实例中有效,它也必须在回放之前下载整个文件;正如@williamdenman指出的那样,这不适用于流。在

这是因为AppKit中的NSSound对象提供了一种在Mac应用程序中播放AIFF和WAV sound文件的方法,而不应该强制播放流文件。参见:http://nodebox.net/code/index.php/PyObjC

我很快就试图找到一个现有的Python模块来做您想做的事情,但它似乎不存在。然而,有很多应用程序是用Python实现的,您可以分析它们是如何做到这一点的。例如:https://pypi.python.org/pypi/DeeFuzzer

我能为您找到的最好的选择是How do I capture an mp3 stream with python,它讨论了如何捕获流以进行本地播放。在

相关问题 更多 >

    热门问题