【发布时间】:2018-03-12 20:46:00
【问题描述】:
我在这里遇到了一个特殊的问题。我正在尝试从 json 文件加载到我的 Python 脚本的所有音频链接,以便它们可以在客户端播放,它们可以正确显示,但在第 4 次之后没有播放 - 我按下播放按钮但没有音频。
我有几个声音文件的路径存储在一个 json 文件中(我要加载的文件要大得多 ~50-60 个 url),但这里是一个示例:
文件.json:
{
"Music Type 1" : "http://music/file1.mp3",
"Music Type 2" : "http://music/file2.mp3",
"Music Type 3" : "http://music/file3.mp3",
"Music Type 4" : "http://music/file4.mp3",
"Music Type 5" : "http://music/file5.mp3"
}
为了在我的网页上显示这些内容,我使用以下内容:
#!C:/Network/Python/Scripts/python.exe
print("Content-Type: text/html\n")
import json
a = json.load(open('file.json'))
for i in a.keys():
print('<h1>{}</h1>\n'.format(i))
print('<audio controls><source src="{}"></audio>'.format(a[i]))
查看源(浏览器端)时,一切都正确显示:
<h1>Music Type 1</h1>
<audio controls><source src="http://music/file1.mp3"></audio>
<h1>Music Type 2</h1>
<audio controls><source src="http://music/file2.mp3"></audio>
<h1>Music Type 3</h1>
<audio controls><source src="http://music/file3.mp3"></audio>
<h1>Music Type 4</h1>
<audio controls><source src="http://music/file4.mp3"></audio>
<h1>Music Type 5</h1>
<audio controls><source src="http://music/file5.mp3"></audio>
我的第一个想法是网址错误,所以我检查了Music Type 5的网址,它是正确的。它按预期从浏览器播放。
然后我尝试了第二个具有相同 url 的 Python 脚本,它运行良好:
#!C:/Network/Python/Scripts/python.exe
print("Content-Type: text/html\n")
print('<audio controls><source src="http://music/file5.mp3"></audio>')
对于不知道如何使用音频标签的人,here 是一个快速参考。我正在运行 XAMPP 服务器 Windows。这些文件也是实时流。
我不明白为什么没有播放音频。谁能告诉我如何解决这个问题,或者是什么导致了这个问题?
【问题讨论】:
-
出于好奇,'print(repr(a[i]))` 为您带来了什么?想知道
/之一是否被转义。 -
@MooingRawr 它返回这个:
'http://music/file1.mp3' 'http://music/file2.mp3' 'http://music/file3.mp3' 'http://music/file4.mp3' 'http://music/file5.mp3'让我看看我的原件。可能就是这样。 -
@MooingRawr json 文件的输出在浏览器端正确打印。如果我查看源代码,并选择它播放的链接之一。这是一个直播。
标签: python python-3.x audio web server