我正在尝试通过动态创建 OBJECT 标签让 Quicktime 插件播放 rtsp 流。我的页面包含一个带有事件处理程序的网格,用于捕获行单击事件以生成标记。出现 Quicktime 徽标,但无法播放。但是,当我对表中的代码段进行硬编码时,流会播放。有没有办法去QT播放流媒体?
grid.connect(grid, 'onClick', function(item) {
var videoTag = '<OBJECT classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" id="qt"';
videoTag += ' codebase="http://www.apple.com/qtactivex/qtplugin.cab"';
videoTag += ' id="qt" width="180" height="196"';
videoTag += '<param name="src" value="resources/images/ClickToPlay.png"/>';
videoTag += '<param name="href" value="rtsp://172.21.57.125/archive/43137b8fa05eb1"/>';
videoTag += '<param name="autohref" value="true"/>';
videoTag += '<param name="target" value="myself"/>';
videoTag += '<param name="controller" value="false"/>';
videoTag += '</OBJECT>';
dojo.place(videoTag, dojo.byId("player"), "only");
});
<div id="wrapper">
<table align="center" border="1" spacing="2" style="width:100%; height:200px;">
<tr><td id="player" align="center">
Content goes here
</td></tr>
</table>
</div>
提前谢谢。
我明白了!!我得到了一个 Iframe 从服务器加载,其中 src 是动态构建的。加载时的 Iframe 调用此 URL,其中服务器使用作为 RESTful 参数发送的流 ID 创建 OBJECT 元素。
第一次调用:@RequestMapping(value="/playback/{id}")
PrintWriter out = response.getWriter();
out.println("<iframe id="qtiframe" src="resession/stream/" + id + "" frameborder="0" width="1000" height="200"></iframe>");
第二次调用:@RequestMapping(value="/stream/{id}")
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<div id="wrapper">");
out.println("<table align="center" border="0" spacing="0" style="width:100%; height:160px;">");
out.println("<tr><td id="player" align="center">");
out.println("<OBJECT classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" id="qt"");
out.println(" codebase="http://www.apple.com/qtactivex/qtplugin.cab"");
out.println(" id="qt" width="200" height="156"");
out.println("<param name="src" value="images/ClickToPlay.png"/>");
out.println("<param name="href" value="rtsp://172.21.57.125/archive/" + id + ""/>");
out.println("<param name="autohref" value="true"/>");
out.println("<param name="target" value="myself"/>");
out.println("<param name="controller" value="false"/>");
out.println("</OBJECT>");
out.println("</td></tr>");
out.println("</table>");
out.println("</div>");
out.println("</body></html>");