Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取<;音频></音频>;在django的HTTPresponse中播放mp3文件_Django_Mp3 - Fatal编程技术网

获取<;音频></音频>;在django的HTTPresponse中播放mp3文件

获取<;音频></音频>;在django的HTTPresponse中播放mp3文件,django,mp3,Django,Mp3,我正在制作一个django应用程序,它基本上可以保存你上传的任何mp3文件,并为它创建一个模型。然后,当您从列表中选择歌曲时,调用一个视图,该视图生成播放所选mp3文件所需的HTML: def playAudioFile(request, title): fname= os.path.join(BASE_DIR, 'upandplay/songdir/' + title + '.mp3') f = open(fname,"rb") response = HttpResp

我正在制作一个django应用程序,它基本上可以保存你上传的任何mp3文件,并为它创建一个模型。然后,当您从列表中选择歌曲时,调用一个视图,该视图生成播放所选mp3文件所需的HTML:

def playAudioFile(request, title):
    fname= os.path.join(BASE_DIR, 'upandplay/songdir/' + title + '.mp3')
    f = open(fname,"rb") 
    response = HttpResponse(f.read())
    response['Content-Type'] ='audio/mp3'
    response['Content-Length'] = os.path.getsize(fname )
    return render(request, 'playlist.html', {'response': response})
我的html模板如下所示:

{% extends 'index.html' %}

{% block content %}

<div class='row'>

        {{response}}

</div>

{% endblock %}
{%extends'index.html%}
{%block content%}
{{response}}
{%endblock%}
我被重定向到正确的url,但歌曲无法播放。我怎样才能播放这首歌


在此之前非常感谢。

您编写的方法仅适用于表单和django变量,而不是服务器上的文件。您需要向其发送POST请求,然后接收响应。 相反,你可以试试这样的东西

在模板中添加html音频标记

<audio id='myaudio'  preload= 'auto' controls  type="audio/mpeg"></audio>

确保该位置位于应用程序文件夹中的服务器文件中。Javascript不会从本地计算机加载文件。例如,您的mp3文件位于myapp/static文件夹中,您的文件位置将为“/static/”。

您编写的方式仅适用于表单和django变量,而不是来自服务器的文件。您需要向其发送POST请求,然后接收响应。 相反,你可以试试这样的东西

在模板中添加html音频标记

<audio id='myaudio'  preload= 'auto' controls  type="audio/mpeg"></audio>
确保该位置位于应用程序文件夹中的服务器文件中。Javascript不会从本地计算机加载文件。例如,如果您的mp3文件位于myapp/static文件夹中,则您的文件位置将为“/static/”

function play()
{
         var source = document.getElementById('myaudio');
         source.src = 'your file location on the server'+ your_file_name;        
}