无法使用谷歌应用引擎播放音频.它在本地工作

Can't play audio with google app engine. It works locally

本文关键字:音频 工作 播放 引擎 谷歌 应用      更新时间:2023-09-26

我有一个网页,里面有一些阿拉伯数字,其中播放音频时鼠标悬停操作,数字会发音。它在我的浏览器中本地工作,但在谷歌应用程序引擎下不起作用。 它在谷歌应用程序引擎下也无法在本地工作,但如果我只是运行 html 文件,它可以工作。 这是我代码的一部分

<script language="javascript" type="text/javascript">
 function playSound(soundfile) {
 document.getElementById("dummy").innerHTML=
 "<embed src='""+soundfile+"'" hidden='"true'" autostart='"true'" loop='"false'" />";
 };
 </script>

<div>
    <table>
        <tr>    
            <td onmouseover="playSound('numbers/1.mp3');">واحِد</td>
            <td onmouseover="playSound('numbers/1st.mp3');">الأَوَّل</td>
            <td onmouseover="playSound('numbers/1st_f.mp3');">الأُولى</td>
            <td onmouseover="playSound('numbers/saturday.mp3');">السَّبْت</td>
        </tr>
    </table>

这是蟒蛇代码

import os
import webapp2
import jinja2
from google.appengine.ext import db
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
                               autoescape=True)
class Handler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)
    def render_str(self, template, **params):
        t = jinja_env.get_template(template)
        return t.render(params)
    def render(self, template, **kw):
        self.write(self.render_str(template, **kw))
class MainPage(Handler):
    def get(self):
        self.render('ArabicNumbers.html')
app = webapp2.WSGIApplication([('/', MainPage)], debug=True)

这是app.yaml

application: arabicbetweenyourhands
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon'.ico
  static_files: favicon.ico
  upload: favicon'.ico
- url: .*
  script: main.app
libraries:
- name: webapp2
  version: "2.5.1"
- name: jinja2
  version: latest

另外,这里是网站的网址。 arabicbetweenyourhands.appspot.com。您可以在那里看到完整的源代码。任何想法?? 谢谢

当我访问您的页面时,我得到了 404 表示 http://arabicbetweenyourhands.appspot.com/numbers/4th_f.mp3

您需要将"numbers"目录作为静态目录添加到 app.yaml 中,并添加适当的 mime 类型,如下所示:

handlers:
- url: /numbers
  static_dir: numbers
  mime_type: audio/mp3