Python 扭曲的网络服务器音频文件
Python Twisted web server audio file
我正在尝试创建一个带有扭曲 python 的简单 Web 服务器。不过,我在提供 m4a 音频文件时遇到问题。
在当前程序中,当我加载http://localhost:8880/mp3.html时,它工作正常。它显示音频播放器和 mp3 播放。此外,该程序同时打印“/mp3.html”和“/test.mp3”。
但是,当我加载 http://localhost:8880/m4a.html 时,它不起作用。它显示音频播放器,但 m4a 不播放。此外,该程序仅打印“/m4a.html”而不打印“/test.m4a”。
我当前的代码如下。
import urlparse
import os
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.web.static import File
import time
import subprocess
import mimetypes
class playM4A(Resource):
isLeaf = True
def render_GET(self, request):
this=urlparse.urlparse(request.path)#scheme,netloc,path,query
root,ext=os.path.splitext(this.path)
filename=os.path.basename(request.path)
fileFolder=request.path.replace(filename,"")
self.serverRoot=os.getcwd()
print request.path
if ext==".m4a":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
elif ext==".mp3":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
elif filename=="m4a.html":
return """
<html>
<audio controls>
<source src="http://localhost:8880/test.m4a" type="audio/mp4a-latm">
Your browser does not support the audio element.
</audio>
not m4a </html>"""
elif filename=="mp3.html":
return """
<html>
<audio controls>
<source src="http://localhost:8880/test.mp3" type="audio/mp3">
Your browser does not support the audio element.
</audio>
not m4a </html>"""
resource = playM4A()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()
如果您将 audio/mp4a-latm 更改为 audio/mp4
,则代码有效
我正在尝试创建一个带有扭曲 python 的简单 Web 服务器。不过,我在提供 m4a 音频文件时遇到问题。
在当前程序中,当我加载http://localhost:8880/mp3.html时,它工作正常。它显示音频播放器和 mp3 播放。此外,该程序同时打印“/mp3.html”和“/test.mp3”。
但是,当我加载 http://localhost:8880/m4a.html 时,它不起作用。它显示音频播放器,但 m4a 不播放。此外,该程序仅打印“/m4a.html”而不打印“/test.m4a”。
我当前的代码如下。
import urlparse
import os
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.web.static import File
import time
import subprocess
import mimetypes
class playM4A(Resource):
isLeaf = True
def render_GET(self, request):
this=urlparse.urlparse(request.path)#scheme,netloc,path,query
root,ext=os.path.splitext(this.path)
filename=os.path.basename(request.path)
fileFolder=request.path.replace(filename,"")
self.serverRoot=os.getcwd()
print request.path
if ext==".m4a":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
elif ext==".mp3":
thisFile=File(self.serverRoot+request.path)
return File.render_GET(thisFile,request)
elif filename=="m4a.html":
return """
<html>
<audio controls>
<source src="http://localhost:8880/test.m4a" type="audio/mp4a-latm">
Your browser does not support the audio element.
</audio>
not m4a </html>"""
elif filename=="mp3.html":
return """
<html>
<audio controls>
<source src="http://localhost:8880/test.mp3" type="audio/mp3">
Your browser does not support the audio element.
</audio>
not m4a </html>"""
resource = playM4A()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()
如果您将 audio/mp4a-latm 更改为 audio/mp4
,则代码有效