Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Javascript playframework 2.0流式音频_Javascript_Jquery_Html_Playframework_Playframework 2.0 - Fatal编程技术网

Javascript playframework 2.0流式音频

Javascript playframework 2.0流式音频,javascript,jquery,html,playframework,playframework-2.0,Javascript,Jquery,Html,Playframework,Playframework 2.0,因此,我使用playframework 2.0,并在服务器上使用以下代码成功地传输音频: public static Result recording() { File wavFile = new File("C:\\test.wav"); return ok(wavFile); } 这个很好用 我的问题是它会换到一个新的页面。我希望它能打开一个小对话框,或者创建一个新的div。 所以我想我必须创建一个ajax请求,我可以创建一个新的div,但我不确定如何处理成功的数据对象。任

因此,我使用playframework 2.0,并在服务器上使用以下代码成功地传输音频:

public static Result recording() {
    File wavFile = new File("C:\\test.wav");
    return ok(wavFile);
}
这个很好用

我的问题是它会换到一个新的页面。我希望它能打开一个小对话框,或者创建一个新的div。 所以我想我必须创建一个ajax请求,我可以创建一个新的div,但我不确定如何处理成功的数据对象。任何例子都会很有帮助我没有找到:

$('#sound').click( function(evt) {
            $.ajax({
                type: 'POST',
                url:  jQuery("#sound").attr("href"),
                data: jQuery("#sound").serialize(),
                dataType: "json",
                success: function(data) {
                            //What do i need to do here
                    alert('Call history download');
                },
                error: function(data) {
                    setError('Call history download failed');
                }
            });
            return false;
        });
看看这本书

像这样的事情应该可以做到:

<audio src="@routes.MyController.recording()" controls autoplay loop>  
   <p>Your browser does not support the audio element </p>  
</audio>

您的浏览器不支持音频元素

如果您想用javascript启动声音,可以跳过所有ajax内容,只需使用javascript/jQuery添加一个元素。然后声音会自动启动

注意,IE不支持wave文件(图!!)。IE9只支持MP3。但是Firefox和Opera不支持MP3。要支持多种文件格式,可以执行以下操作:

<audio controls autoplay loop>  
   <source src="@routes.MyController.recordingWave()" type="audio/wave" />
   <source src="@routes.MyController.recordingMp3()" type="audio/mp3" />
   <p>Your browser does not support the audio element </p>  
</audio>

您的浏览器不支持音频元素


好的,所以我使用了你给我的音频标签,它在chrome中运行得很好,但在firefox中不会出现。它应该在firefox中运行!您可能必须提供几种音频格式,因为浏览器不同意支持哪种格式。我在MDN上找到了以下浏览器兼容性表: