从midi文件中创建url-Javascript

问题描述

我正在通过ajax请求从服务器发送一个midi文件:

// Create new request add token 
const generateRequest = new XMLHttpRequest();
generateRequest.open('POST','/generate');
generateRequest.setRequestHeader('X-CSRFToken',csrftoken);

generateRequest.onload = () => {
    // Get response from server
    console.log(generateRequest.response);
    // /tmp/music21/tmp5v_ulgkr.mid
    let objectURL = URL.createObjectURL(generateRequest.response);

    document.getElementById('myVisualizer').src = objectURL;
};

// Add the motif to send with the request
const data = new FormData();
data.append('motif',JSON.stringify(notes));

// Send request
generateRequest.send(data);

服务器:

def generate(request):

    if request.method == "POST":

        # Do some stuff
        
        midi = mg.save_melody(melody)

    return HttpResponse(midi,content_type="audio/midi",status=200)

Mi的想法是将mi midi-visualizer的src设置为midi文件:

<midi-visualizer src="" type="staff" id="myVisualizer"></midi-visualizer>
<midi-player sound-font visualizer="#myVisualizer"></midi-player>

但是我得到:未捕获的TypeError:无法在“ URL”上执行“ createObjectURL”:找不到与提供的签名匹配的功能。

我也尝试了srcObject,但没有结果。

如何将src更改为我的midi文件?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)