正在显示
1 个修改的文件
包含
54 行增加
和
3 行删除
| @@ -312,9 +312,24 @@ a:active { | @@ -312,9 +312,24 @@ a:active { | ||
| 312 | writeToScreen('<span style="color: blue;">result: unknown result </span>'); | 312 | writeToScreen('<span style="color: blue;">result: unknown result </span>'); |
| 313 | } | 313 | } |
| 314 | 314 | ||
| 315 | - if(0 == result){//mov_start success | 315 | + if(0 == result || 6 == result || 8 == result){//mov_start,mov_pause,mov_seek success |
| 316 | playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ms"); | 316 | playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ms"); |
| 317 | } | 317 | } |
| 318 | + else if(10 == result){//movie property | ||
| 319 | + if(data_len > 7 * 4 + 8){ | ||
| 320 | + var uint32params = new Uint32Array(evt.target.result, 8, 8); | ||
| 321 | + var info = "width:" + uint32params[0] + " height:" + uint32params[1]; | ||
| 322 | + writeToScreen(info); | ||
| 323 | + info = "framerate:" + uint32params[2] + " duration:" + uint32params[3]; | ||
| 324 | + writeToScreen(info); | ||
| 325 | + info = "playpos:" + uint32params[4] + " filesize:" + uint32params[5]; | ||
| 326 | + writeToScreen(info); | ||
| 327 | + var file_name_len = uint32params[6]; | ||
| 328 | + var file_name = new Uint8Array(evt.target.result, 40 , file_name_len); | ||
| 329 | + var file_name_string = utf8to16(file_name); | ||
| 330 | + writeToScreen("filename:"+ file_name_string); | ||
| 331 | + } | ||
| 332 | + } | ||
| 318 | else if(11 == result){//ss_start success | 333 | else if(11 == result){//ss_start success |
| 319 | playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ss"); | 334 | playRTMPStream("rtmp://127.0.0.1:" + rtmp_port + "/live/ss"); |
| 320 | } | 335 | } |
| @@ -411,7 +426,12 @@ a:active { | @@ -411,7 +426,12 @@ a:active { | ||
| 411 | 426 | ||
| 412 | function doSendWSCmd(wsCmd) | 427 | function doSendWSCmd(wsCmd) |
| 413 | { | 428 | { |
| 414 | - writeToScreen("SENT: " + wsCmd.name); | 429 | + if(wsState != "connected"){ |
| 430 | + writeToScreen("websocket isn't connected,please connect first!"); | ||
| 431 | + return; | ||
| 432 | + } | ||
| 433 | + | ||
| 434 | + writeToScreen("Send: " + wsCmd.name); | ||
| 415 | 435 | ||
| 416 | var cmd_buf_len = 2 + 1*2 + 4 + wsCmd.data_len; | 436 | var cmd_buf_len = 2 + 1*2 + 4 + wsCmd.data_len; |
| 417 | var buffer = new ArrayBuffer(cmd_buf_len); | 437 | var buffer = new ArrayBuffer(cmd_buf_len); |
| @@ -447,6 +467,31 @@ a:active { | @@ -447,6 +467,31 @@ a:active { | ||
| 447 | else if(obj.id == "mov_stop"){ | 467 | else if(obj.id == "mov_stop"){ |
| 448 | cmd.type = 2; | 468 | cmd.type = 2; |
| 449 | } | 469 | } |
| 470 | + else if(obj.id == "mov_pause"){ | ||
| 471 | + cmd.type = 3; | ||
| 472 | + var pos = document.getElementById("mov_pos").value; | ||
| 473 | + if(pos.length > 0){ | ||
| 474 | + cmd.data_len = 4; | ||
| 475 | + var buffer = new ArrayBuffer(cmd.data_len); | ||
| 476 | + var Uint32param = new Uint32Array(buffer, 0, 1); | ||
| 477 | + Uint32param[0] = parseInt(pos); | ||
| 478 | + cmd.data = new Uint8Array(buffer, 0, 4); | ||
| 479 | + } | ||
| 480 | + } | ||
| 481 | + else if(obj.id == "mov_resume"){ | ||
| 482 | + cmd.type = 4; | ||
| 483 | + } | ||
| 484 | + else if(obj.id == "mov_seek"){ | ||
| 485 | + cmd.type = 5; | ||
| 486 | + var pos = document.getElementById("mov_pos").value; | ||
| 487 | + if(pos.length > 0){ | ||
| 488 | + cmd.data_len = 4; | ||
| 489 | + var buffer = new ArrayBuffer(cmd.data_len); | ||
| 490 | + var Uint32param = new Uint32Array(buffer, 0, 1); | ||
| 491 | + Uint32param[0] = parseInt(pos); | ||
| 492 | + cmd.data = new Uint8Array(buffer, 0, 4); | ||
| 493 | + } | ||
| 494 | + } | ||
| 450 | else if(obj.id == "ss_start"){ | 495 | else if(obj.id == "ss_start"){ |
| 451 | cmd.type = 6; | 496 | cmd.type = 6; |
| 452 | var param = document.getElementById("ss_start_input"); | 497 | var param = document.getElementById("ss_start_input"); |
| @@ -883,11 +928,17 @@ a:active { | @@ -883,11 +928,17 @@ a:active { | ||
| 883 | <tr> | 928 | <tr> |
| 884 | <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> | 929 | <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> |
| 885 | <td colspan="3"><button type="button" id="mov_start" onclick="javascript:onTestClick(this);">mov_start</button></td> | 930 | <td colspan="3"><button type="button" id="mov_start" onclick="javascript:onTestClick(this);">mov_start</button></td> |
| 886 | - <td colspan="3"></td> | 931 | + <td colspan="3"> <button type="button" id="mov_seek" onclick="javascript:onTestClick(this);">mov_seek</button></td> |
| 887 | <td colspan="3"><button type="button" id="mov_stop" onclick="javascript:onTestClick(this);">mov_stop</button></td> | 932 | <td colspan="3"><button type="button" id="mov_stop" onclick="javascript:onTestClick(this);">mov_stop</button></td> |
| 888 | </tr> | 933 | </tr> |
| 889 | <tr> | 934 | <tr> |
| 890 | <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> | 935 | <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> |
| 936 | + <td colspan="3"><button type="button" id="mov_pause" onclick="javascript:onTestClick(this);">mov_pause</button></td> | ||
| 937 | + <td colspan="3"><input id="mov_pos" width="800"/></td> | ||
| 938 | + <td colspan="3"><button type="button" id="mov_resume" onclick="javascript:onTestClick(this);">mov_resume</button></td> | ||
| 939 | + </tr> | ||
| 940 | + <tr> | ||
| 941 | + <td width="35" colspan="2"><img src="images/spacer.gif" width="20" height="10" /></td> | ||
| 891 | <td colspan="3"><button type="button" id="get_cam" onclick="javascript:onTestClick(this);">get_cam</button></td> | 942 | <td colspan="3"><button type="button" id="get_cam" onclick="javascript:onTestClick(this);">get_cam</button></td> |
| 892 | <td width="300" ><img src="images/spacer.gif" width="20" height="10" /> | 943 | <td width="300" ><img src="images/spacer.gif" width="20" height="10" /> |
| 893 | <select width = "300" id="cameras" name="cameras" /> | 944 | <select width = "300" id="cameras" name="cameras" /> |
-
请 注册 或 登录 后发表评论