- 浏览: 922487 次
- 性别:
- 来自: 宁波
文章分类
最新评论
-
masuweng:
不错!!!!!
自定义表单的设计与实现 -
xhackertxl:
注意将jstock cvs下来后去掉原先的J2SE 1.6li ...
开源项目推荐 — 股票分析软件JStock -
luoyexiaozhu:
最近在学表单这一块,没有思路,能发给我一份学习一下吗86239 ...
WEB项目中自定义表单的设计与实现 -
volunteer521:
楼主,以下的引用类没有对应的jar包,麻烦共享以下,谢谢!im ...
通用数据抽取系统 -
baichixiaozi:
体验下,谢谢分享
原创简化Web开发的框架 - JSPTagEx
在开发有些互联网领域的产品时,在线视频录制的功能必不可少,下面我们就在red5record开源产品的基础上,修改它来实现吧,在这之前,你可以通过这个地址:http://t.faqee.com/m2/red5rec/index.html?to=123,来首先体验一下,其中123参数可以是任意的,因为这个是代表在线录制视频的文件名!
我的开发环境是Flex 4+Eclipse 3.6,下面是完整的源码组成:
界面:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()" xmlns:ns1="components.*" xmlns:ns2="*" xmlns:gauge="components.gauge.*"> <mx:states> <mx:State name="player"> <mx:RemoveChild target="{myWebcam}"/> <mx:RemoveChild target="{cam1_btn}"/> <mx:RemoveChild target="{blink1}"/> <mx:RemoveChild target="{canvas1}"/> <mx:RemoveChild target="{micLevel}"/> <mx:AddChild relativeTo="{canvas2}" position="lastChild"> <mx:Canvas label="player" width="100%" height="100%"> <mx:VideoDisplay id="videoPlayer" mouseMove="rollOver(event)" mouseOut="rollOut(event)" right="0" left="0" complete="videoIsComplete()" bottom="0" top="0"/> <mx:Panel id="videoOptionsPanel" layout="absolute" verticalScrollPolicy="off" horizontalScrollPolicy="off" cornerRadius="5" backgroundColor="#DFDFDF" headerHeight="0" left="0" right="0" height="40" alpha="0.8" bottom="0" borderStyle="solid" backgroundAlpha="0.6"> <mx:ProgressBar id="loadProgress" label="" mode="event" minimum="0" maximum="{videoPlayer.totalTime}" height="5" source="{ videoPlayer}" trackHeight="7" left="80" right="44" bottom="3"/> <mx:HSlider id="position" height="9" dataTipFormatFunction="formatPositionToolTip" slideDuration="0" value="{videoPlayer.playheadTime}" minWidth="10" minimum="0" maximum="{videoPlayer.totalTime}" left="80" right="44" bottom="10" showTrackHighlight="true" styleName="scrollBar" thumbPress="thumbPressed()" thumbRelease="thumbReleased()" mouseDown="thumbClicked(event)" allowTrackClick="true"/> <mx:Button id="playPauseBut" click="playPause();" width="35" height="25" cornerRadius="5" left="0" bottom="0" styleName="playButton" toggle="true" toolTip="Play/Pause"/> <mx:Button id="stopBut" styleName="arial10E" left="38" width="35" height="25" cornerRadius="5" bottom="0" toolTip="Stop" click="stopVideo()" icon="@Embed(source='assets/player_stop.png')"/> <gauge:Gauge id="volume" gaugeClick="handleGaugeEvent(event)" liveDragging="true" right="-1" bottom="0" width="40" height="20" needleThickness="0.3" coverColor="#0000FF" coverAlpha="0.8" coverDropShadowEnabled="false" /> <mx:Label y="-2" text="{formatPositionToolTip(videoPlayer.playheadTime)} / {formatPositionToolTip(videoPlayer.totalTime)}" width="141" id="timer_txt" styleName="arial10E" horizontalCenter="0" textAlign="center"/> </mx:Panel> </mx:Canvas> </mx:AddChild> <mx:AddChild position="lastChild"> <mx:Button x="0" y="0" label="{myRecorder.backText}" icon="@Embed(source='assets/back.png')" click="stopVideo();currentState="""/> </mx:AddChild> </mx:State> </mx:states> <mx:Script source="red5recorder.as" /> <mx:Style source="style.css" /> <mx:Canvas label="recorder" width="100%" height="100%" verticalScrollPolicy="off" horizontalScrollPolicy="off" id="canvas2"> <mx:VideoDisplay id="myWebcam" left="0" top="0" bottom="16" right="0"/> <mx:Button y="0" icon="@Embed('assets/webcamON.png')" height="18" width="35" id="cam1_btn" click="webcamParameters()" toolTip="Parameters" label="1" x="0"/> <mx:ProgressBar label="volume" labelPlacement="center" minimum="0" maximum="100" id="micLevel" mode="manual" visible="{myRecorder.showVolume}" bottom="0" right="0" left="0"/> <mx:Canvas height="36" cornerRadius="5" borderStyle="solid" borderColor="#000000" backgroundColor="#FFFFFF" backgroundAlpha="0.5" alpha="0.6" id="canvas1" left="0" right="0" bottom="16"> <mx:Button label="录制" toggle="true" width="84" height="33" icon="@Embed(source='assets/rec32.png')" top="0" id="rec_btn" click="recClicked()" toolTip="Click here to START/STOP recording" visible="{myRecorder.cameraDetected}"/> <mx:Label x="184" y="6" text="{myRecorder.timeLeftText} {timeLeft}" width="124" color="#000000"/> <!-- <mx:Button label="play" width="84" height="33" icon="@Embed(source='assets/player_play.png')" top="0" id="replay_btn" click="replay()" toolTip="点击这里开始/停止在线录制" x="92" visible="{myRecorder.hasRecorded}"/> --> </mx:Canvas> <ns1:Blink y="0" width="217" text="{myRecorder.recordingText}" color="#FC0000" interval="1000" textAlign="right" fontWeight="bold" displayed="{rec_btn.selected}" id="blink1" right="0"/> </mx:Canvas> <ns1:VideoContainer right="0" bottom="0"/> </mx:Application>
修改你自己的配置在Recorder.as文件中:
package classes { [Bindable] public class Recorder { public var maxLength:int=120; public var fileName:String="video"; public var width:int=320; public var height:int=240; public var server:String="rtmp://www.test.com/test"; public var fps:int=15; public var microRate:int=22; public var showVolume:Boolean=true; public var recordingText:String="录制中..."; public var timeLeftText:String="剩余时间:"; public var timeLeft:int; public var mode:String="record"; public var hasRecorded:Boolean=false; public var backToRecorder:Boolean=true; public var backText:String="返回"; public var cameraDetected:Boolean=false; public function Recorder() { timeLeft = maxLength; mode="record"; /*this.maxLength = maxLength; this.fileName = fileName; this.width = width; this.height = height; this.server = server;*/ } } }
整个源码的包请在附件中下载!
- red5recorder.rar (49.9 KB)
- 下载次数: 45
发表评论
-
新个税改革,看看您每月到手钱少了还是多了计算器
2018-08-29 10:04 553背景:国家重拳整治 ... -
新个税计算器,看看每月到手钱多了还是少了
2018-08-29 10:01 0背景:国家重拳整治社保,将社保缴费交给税务局监管,预期会大 ... -
计算机视觉识别汽车花草人脸颜值
2018-05-29 09:09 1398目前人工智能技术已 ... -
计算机视觉识别汽车花草人脸颜值
2018-05-29 09:03 3目前人工智能技术已 ... -
基于Vue2的在线出试卷小系统,开源已发布
2017-11-15 20:17 1744需要出一份在线面试的小系统,找了一圈,好像没有开源实现,基 ... -
小团队管理微信小程序开源啦~
2017-08-16 13:18 1648项目概述:方便打理 ... -
自定义表单的设计与实现
2017-06-13 17:46 8252制作调查表或企业内部系统的时候,经常被一系列表单弄得焦头烂 ... -
微信小程序开发我遇到的一些坑和建议
2017-04-13 20:08 109小程序最近火了,所 ... -
微信小程序开发我碰到的坑
2017-04-13 20:02 4小程序最近火了,所以 ... -
利用JSPTagEx开发单页面Web程序(附源码)
2015-09-15 15:22 2619何为SPA:Web开发单页面,利用pushState技术实现 ... -
利用JSPTagEx开发单页面Web程序(附源码)
2015-09-15 14:59 1何为SPA:Web开发单页面,利用pushState技术实 ... -
简化移动端开发(NodeJs+Thrift+SocketIO+混编)
2015-08-05 17:16 145本文搭建一套基于Nodejs+SocketIO+Thrif ... -
利用原创框架封装后台管理组件
2015-06-19 18:02 200通过前几天编写的后台管理框架jsptagex我们已经能很快 ... -
原创简化Web开发的框架 - JSPTagEx
2015-06-12 12:53 4662在博客蛰伏了一年多,该写点东西了:) JSPTag ... -
原创Web框架 - JSPTagEx
2015-06-12 12:44 1在博客蛰伏了一年多,该写点东西了:) JSPTag ... -
桌面开发服务端混搭Java
2014-09-26 16:10 0本篇博客在原有GQT桌面项目的基础上,加入了服务端代码(C ... -
关于openfire负载均衡和扩展性的思考
2014-06-04 17:15 0解决并发用户过多 如果你的应用场景无需考虑每个注册用户都必 ... -
异构语言高可用性服务端的设计与实现
2014-05-30 16:01 2998本文的客户端基于我 ... -
也谈基于Web的含工作流项目的一般开发流程
2014-03-19 17:20 5772该项目包含的通用模块代码等我有时间一并剥离贡献出来(基于W ... -
高性能高可用的服务端研究之Req-Rep模式(附源码)
2014-03-04 10:01 5546最近在思考高可用的 ...
相关推荐
在C#中实现语音视频录制是一项常见的需求,特别是在开发视频会议、监控系统或者网络招聘平台等应用时。...通过提供的DEMO源码,开发者可以更好地理解并实现这一功能,为自己的项目增添语音视频录制能力。
文档"《Fms 视频录制屏幕共享 附源码.doc》"主要涉及使用Adobe Flash Media Server (FMS) 实现屏幕共享和视频录制的功能。FMS 是一款强大的实时流媒体服务器,它允许开发者创建实时交互式的多媒体应用程序,包括视频...
自己用C++写的一个多功能简易录屏软件Ericord(附源码) 由自己编写的一个简单的录屏软件,但功能样样齐全,可以满足日常需求。(可调整区域,可自动检测分辨率,可调整帧速率,可调整输出格式[mpg/avi格式都支持]...
"FMS 视频录制屏幕共享"这个主题涉及到的是如何使用FMS实现屏幕共享并进行视频录制的技术。在Web应用中,屏幕共享是一项非常实用的功能,常用于在线会议、远程教育、游戏直播等场景。 【描述】:虽然描述中没有提供...
本项目以"C#实现摄像头拍照水印录像底片附源码"为主题,聚焦于利用C#进行实时视频捕获、图像处理以及添加水印等功能,这对于创建各种多媒体应用,如监控系统、直播软件或图像编辑工具等具有重要意义。 首先,我们...
在Android中,摄像头服务是通过`android.hardware.Camera`类提供的,它允许开发者控制摄像头参数、捕获照片和录制视频。不过,自Android API 21(Lollipop)开始,谷歌引入了`android.hardware.camera2`包,这是一个...
这个“DirectX 详细教程附源码”应该是面向初学者和开发者的一个全面指南,帮助他们理解DirectX的基本概念并提供实践操作的机会。 在教程中,你将学习到: 1. **DirectX的基础知识**:DirectX是由多个子组件组成的...
【bandicam 2021-08-24 21-48-02-701.mp4】可能是一个录制的屏幕视频教程,展示了如何使用小龟视频、对接苹果CMS或者展示了反编译源码的过程。这类视频教程对于初学者来说非常有帮助,能够直观地看到操作步骤和实际...
在本项目中,“安卓Andriod源码——基于手机的远程视频监控系统”是一个实现手机远程视频监控的应用程序。这个项目的核心是利用Android平台的功能,将手机转变为一个可远程访问的摄像头,允许用户通过网络查看实时...
网络通信通常使用HttpURLConnection、OkHttp库或Retrofit框架,多媒体处理涵盖音频、视频的播放和录制,硬件访问则可能涉及到传感器、GPS、蓝牙等硬件接口。 源码部分通常会提供书中案例的实现代码,这有助于读者更...
4. **多媒体处理**:包含音频、视频的播放与录制,图片的加载、裁剪与处理,以及摄像头的使用,帮助开发者构建多媒体功能丰富的应用。 5. **位置服务**:详细介绍了GPS、网络定位以及 fused location provider的...
我们将围绕标题“用Csharp写的摄像头捕获程序(附源码)”以及描述中的功能来展开,包括捕获图片和录制视频。同时,我们也会涉及与之相关的标签,如“csharp”、“源代码”、“camera”和“捕获”。 首先,C#提供了一...
实现了声音录制等功能。 CHtmlViewProjV2 详细演示了HtmlView的使用与HtmlView事件站点拦截的实现、js调用。 CIVStringSet_Demo 自定义了一个类似STL容器的类,并进行了测试。 ClearHistory 实现了 清楚internet...
实现了声音录制等功能。 CHtmlViewProjV2 详细演示了HtmlView的使用与HtmlView事件站点拦截的实现、js调用。 CIVStringSet_Demo 自定义了一个类似STL容器的类,并进行了测试。 ClearHistory 实现了 清楚internet...
实现了声音录制等功能。 CHtmlViewProjV2 详细演示了HtmlView的使用与HtmlView事件站点拦截的实现、js调用。 CIVStringSet_Demo 自定义了一个类似STL容器的类,并进行了测试。 ClearHistory 实现了 清楚internet...
实现了声音录制等功能。 CHtmlViewProjV2 详细演示了HtmlView的使用与HtmlView事件站点拦截的实现、js调用。 CIVStringSet_Demo 自定义了一个类似STL容器的类,并进行了测试。 ClearHistory 实现了 清楚internet...
实现了声音录制等功能。 CHtmlViewProjV2 详细演示了HtmlView的使用与HtmlView事件站点拦截的实现、js调用。 CIVStringSet_Demo 自定义了一个类似STL容器的类,并进行了测试。 ClearHistory 实现了 清楚internet...