2016-03-17 11 views
0

Я пытаюсь создать простой веб-сервер с витыми в python. Тем не менее, у меня проблемы с подачей звукового файла m4a.Python Twisted web server audio file

В текущей программе, когда я загружаю 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() 
+0

Это похоже на работу с mp3, так что я думаю, что это может иметь что-то делать с форматом m4a файла. – user1763510

+0

Я подозреваю, что заголовок 'Content-Type:' неверен. Можете ли вы, используя запросы wget, curl, Python или любой другой удобный инструмент, определить тип контента, возвращаемый M4A GET и MP3 GET? –

+0

И какая ОС вы используете? И какой браузер? –

ответ

0

Код работает, если вы измените аудио/mp4a-latm аудио/mp4

 Смежные вопросы

  • Нет связанных вопросов^_^