2012-01-05 74 views
1

我已經創建了一個簡單的基於gstreamer的python音頻應用程序,它帶有一個GTK + GUI,用於從XML列表中選擇和播放webstream。然後,我將PC揚聲器輸出連接到帶有大型揚聲器和舊音響的舊式立體聲接收機的輸入端,我有一個相當不錯的音響系統,可以在我大部分家中聽到。爲python應用程序創建Web界面的最佳策略是什麼?

現在我想添加一個web用戶界面來遠程控制從計算機以外的房間的應用程序,但到目前爲止,我所有的嘗試都是徒勞的。

特別是我想知道是否可以創建一種像GTK GUI那樣的信號來運行改變gstreamer參數的方法。

還是有更現實/可行的策略?

在此先感謝您的幫助!

+0

我會做它的方式...創建控制你的GTK應用程序的相關控制的'xmlrpc'功能;在與GTK應用程序相同的服務器上託管它。僅供參考,'web2py'在'xmlrpc'服務方面非常出色。創建另一個向「xmlrpc」服務發送命令的Web客戶端;使用你喜歡的任何東西來創建它。從Web客戶端直接操作GTK應用程序聽起來很複雜。我的答案假設你有一些網絡開發經驗 – 2012-01-05 18:54:45

回答

1

最快和最簡單的方法可能會使用cgi-scripts。如果你想要更復雜的方法,你可以考慮使用像django,turbogears或類似的網絡框架。

+0

謝謝唐問題! – user1106979 2012-01-13 00:48:45

0

我會建議使用一個較輕的純Python Web服務器選項,並且可以編寫獨立的WSGI應用程序或使用微框架。

GEVENT將是一個不錯的選擇:http://www.gevent.org/servers.html

下面是使用GEVENT一個WSGI應用的實現: https://bitbucket.org/denis/gevent/src/tip/examples/wsgiserver.py#cl-4

中的微架構,我建議使用瓶。

+0

嗨不安定的頭!感謝你的回答。我希望能在未來嘗試一下! – user1106979 2012-01-13 00:48:16

3

你可以使用Bottle,一個非常簡單的微型網絡框架。

瓶是Python的一個快速,簡單,重量輕WSGI科技Web框架。它作爲一個單獨的文件模塊分發,除了Python標準庫之外沒有任何依賴關係。

世界,你好:

from bottle import route, run 

@route('/hello/:name') 
def index(name='World'): 
    return '<b>Hello %s!</b>' % name 

run(host='localhost', port=8080) 
+0

您好夏克拉,我介紹給瓶子。它正是我想要的,但是我只能從運行它的同一臺機器訪問服務器。當我從同一網絡上的另一臺計算機嘗試時,我得到一個無法訪問主機的錯誤。這與以下事實一致:當從相同主機端口8080探測到似乎打開但來自另一臺機器的網絡掃描器說端口已關閉。這可能是一個網絡配置問題,但我不知道Bottle是否會導致它。謝謝。 – user1106979 2012-01-12 21:43:59

+0

你在'0.0.0.0'上服務嗎?如果你使用'localhost'或'127.0.0.1',它只能在本地使用。看看http://bottlepy.org/docs/dev/tutorial.html#deployment – charlax 2012-01-12 22:04:01

+0

我有多愚蠢!再次感謝Charlax!它像一個魅力一樣工作! – user1106979 2012-01-13 00:47:15

相關問題