我编写了一个Python Flask程序MusicServer.py,该程序在本地网络上创建了一个服务器,并将render_template()连接到我的HTML page.html文件。运行服务器时,所有内容均按预期加载,但是即使在运行独立的page.html文件时按下按钮播放音乐时,播放音乐的按钮也无法正常工作。
我已经尝试通过运行音频文件以播放实际的python服务器文件来尝试播放音频文件,我尝试了HTML表单,尝试了Javascript,该脚本也可以按预期的方式在原始HTML执行上运行,但不能在服务器上运行,并且我尝试使用内置的HTML音频标签。
*** python MusicServer.py
from flask import Flask, render_template
import os
import socket
app = Flask(__name__)
@app.route("/")
def main():
return render_template('page.html')
if __name__ == "__main__":
print(socket.gethostbyname(socket.gethostname()))
app.run(debug = True, host = "0.0.0.0", port = 80)
os.system("python run MusicServer.py")
*** HTML page.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
Music Server Test
</title>
</head>
<body bgcolor="pink">
<script type="text/javascript">
var songs = [new Audio('SwedenC418.mp3'),
new Audio('FirefliesOwlCity.mp3')];
var counter = 1;
function playSong(song)
{
if (counter % 2 == 1)
{
song.play();
}
else
{
song.pause();
}
counter = counter + 1;
}
</script>
<h1>
<center>
Welcome to the Music Box!
</center>
</h1>
<button onclick="playSong(songs[0]);" name="SweedenC418">
Sweden- C418 (Caution and Crisis Remix)
</button>
<button onclick="playSong(songs[1]);" name="FirefliesOwlCity">
Fireflies- Owl City
</button>
<audio controls>
<source src="SwedenC418.mp3">
</audio>
</body>
</html>
预期结果是能够通过在Python Flask托管的HTML页面上通过按下按钮来播放音频,但实际结果只是显示没有按钮功能的页面。
当我尝试在服务器上运行时尝试通过HTML按钮执行Fireflies歌曲时,在python控制台中收到的两个错误消息是 “ GET /FirefliesOwlCity.mp3 HTTP / 1.1” 404- 对于瑞典C418歌曲,错误是 “ GET /SwedenC418.mp3 HTTP / 1.1” 404-