我正在使用JPlayer根据用户输入播放不同的音频文件。每次用户输入输入时,我都会调用REST Web服务来检索要播放的音频文件。 REST服务的响应是byte []。
我想要实现的是将这个字节数组保存在内存中,而不是将其写入文件,并将该字节[]用于jplayer。我不知道如何让JPlayer播放一个byte []。
var file = [[${audiofile}]]
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer(
{
ready: function () {
$(this).jPlayer("setMedia",{
wav: file
});
},
变量文件的计算结果为byte []。尝试播放音频时,我在控制台中看到以下错误。
未捕获的TypeError:对象 -1,-5,-112,-60,0,3,19,124,-73 .......
如果有人有任何建议,我将不胜感激。
由于
答案 0 :(得分:2)
不幸的是,此功能目前尚未实现。来自1945行的JPlayer 2.9.2的源代码:
setMedia: function(media) {
/* media[format] = String: URL of format. Must contain all of the supplied option's video or audio formats.
* media.poster = String: Video poster URL.
* media.track = Array: Of objects defining the track element: kind, src, srclang, label, def.
* media.stream = Boolean: * NOT IMPLEMENTED * Designating actual media streams. ie., "false/undefined" for files. Plan to refresh the flash every so often.
*/
请注意最后一行。希望我有更好的消息。
参考:https://github.com/happyworm/jPlayer/blob/master/src/javascript/jplayer/jquery.jplayer.js
一些研究员接近解决方案,但不是JPlayer。参考:How to play audio byte array (not file!) with JavaScript in a browser