视频小程序源码
VC-摄像头控制SDK源码
#include <windows.h>
#include <stdio.h>
#include <vfw.h>
#pragma comment(lib,"vfw32.lib")
HWND ghWndCap ; //捕获窗的句柄
CAPDRIVERCAPS gCapDriverCaps ; //视频驱动器的能力
CAPSTATUS gCapStatus ; //捕获窗的状态
char szCaptureFile[] = "MYCAP.AVI";
char gachBuffer[20];
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
LRESULT CALLBACK StatusCallbackProc(HWND hWnd,int nID,LPSTR lpStatusText)
{
if(!ghWndCap)return FALSE;//获得捕获窗的状态
capGetStatus(ghWndCap,&gCapStatus,sizeof(CAPSTATUS));//更新捕获窗的大小
SetWindowPos(ghWndCap,NULL,0,0,gCapStatus.uiImageWidth,gCapStatus.uiImageHeight,SWP_NOZORDER|SWP_NOMOVE);
if(nID==0){//清除旧的状态信息
SetWindowText(ghWndCap,(LPSTR)"hello");
return (LRESULT)TRUE;
}//显示状态ID和状态文本
wsprintf(gachBuffer,"Status# %d: %s",nID,lpStatusText);
SetWindowText(ghWndCap,(LPSTR)gachBuffer);
return (LRESULT)TRUE;
}
LRESULT CALLBACK ErrorCallbackProc(HWND hWnd,int nErrID,LPSTR lpErrorText)
{
if(!ghWndCap)return FALSE;
if(nErrID==0)return TRUE;//清除旧的错误
wsprintf(gachBuffer,"Error# %d",nErrID);//显示错误标识和文本
MessageBox(hWnd, lpErrorText, gachBuffer,MB_OK | MB_ICONEXCLAMATION);
return (LRESULT) TRUE;
}
LRESULT CALLBACK FrameCallbackProc(HWND hWnd,LPVIDEOHDR lpVHdr)
{
FILE *fp;
fp=fopen("caram.dat","w");
if(!ghWndCap)return FALSE;//假设fp为一打开的.dat文件指针
fwrite(lpVHdr->lpData,1,lpVHdr->dwBufferLength,fp);
return (LRESULT)TRUE;
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("HelloWin");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("This program requires WindowsNT!"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,TEXT("The Hello Program"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(message)
{
case WM_CREATE:
{
ghWndCap=capCreateCaptureWindow((LPSTR)"Capture Window",WS_CHILD|WS_VISIBLE,0,0,300,240,(HWND)hwnd,(int)0);
capSetCallbackOnError(ghWndCap,(FARPROC)ErrorCallbackProc);
capSetCallbackOnStatus(ghWndCap,(FARPROC)StatusCallbackProc);
capSetCallbackOnFrame(ghWndCap,(FARPROC)FrameCallbackProc);
capDriverConnect(ghWndCap,0); // 将捕获窗同驱动器连接
//获得驱动器的能力,相关的信息放在结构变量gCapDriverCaps中
capDriverGetCaps(ghWndCap,&gCapDriverCaps,sizeof(CAPDRIVERCAPS));
capPreviewRate(ghWndCap, 66); // 设置Preview模式的显示速率
capPreview(ghWndCap, TRUE); //启动Preview模式
if(gCapDriverCaps.fHasOverlay) //检查驱动器是否有叠加能力
capOverlay(ghWndCap,TRUE); //启动Overlay模式
if(gCapDriverCaps.fHasDlgVideoSource)capDlgVideoSource(ghWndCap); //Video source 对话框
if(gCapDriverCaps.fHasDlgVideoFormat)capDlgVideoFormat(ghWndCap); // Video format 对话框
if(gCapDriverCaps.fHasDlgVideoDisplay)capDlgVideoDisplay(ghWndCap); // Video display 对话框
capFileSetCaptureFile( ghWndCap, szCaptureFile); //指定捕获文件名
capFileAlloc(ghWndCap, (1024L * 1024L * 5)); //为捕获文件分配存储空间
capCaptureSequence(ghWndCap); //开始捕获视频序列
capGrabFrame(ghWndCap); //捕获单帧图像
}
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
DrawText(hdc,TEXT("Hello,Windows98!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
{
capSetCallbackOnStatus(ghWndCap,NULL);
capSetCallbackOnError(ghWndCap,NULL);
capSetCallbackOnFrame(ghWndCap,NULL);
capCaptureAbort(ghWndCap);//停止捕获
capDriverDisconnect(ghWndCap); //将捕获窗同驱动器断开
PostQuitMessage(0);
}
return 0;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}
❷ 【开源源码】Discuz!生成微信、QQ、头条抖音及百度多端论坛小程序及APP
使用discuz论坛作为后端生成微信、QQ、支付宝、头条抖音及网络小程序,并支持安卓或苹果APP.
mobile:discuz掌上论坛插件
dzmini:原生小程序源码
dzmini_uni:多端小程序源码
修改配置文件config_oauths.php, 将申请好的小程序 appkey appsecret填入并保存
把mobile目录覆盖discuz网站的source/plugin/mobile目录
进入论坛后台,进入应用,找到掌上论坛插件并启用, 点击更新即可
在discuz后台点击全局——手机访问——开启手机访问及注册登录
修改小程序源码dzmini下的config.js配置文件,将域名换成您网站域名
测试没问题 提交上传审核即可
dzmini_uni需使用uniapp的工具进行编译,目前还有问题
https://github.com/poisonboy/discuz
❸ 想开发一款仿抖音的短视频平台,怎么能快速的实现
短视频(带商城版)
一、登录页面为手机号登录、密码登录、QQ登录、微信登录、微博登录、下方登录遇到问题用于用户忘记密码等问题。
如果切换或添加登录方式可以在后台系统设置,第三方登录中设置。
二、登录后首页下方显示为、首页、关注、+(添加短视频或直播)、消息、我。
上方显示为推荐和附近。
右侧从上到下依次为关注、喜欢、评论、转发、音乐
左下角为发视频用户的ID及音乐名称
点开附近页面即可观看附近用户发布的视频,显示距离及获赞数量。
三、点击关注界面可以查看已关注的用户更新视频。按发布顺序排序,更新发布的在上。
四、左上角热门直播为当前正在直播的用户,可根据后台实时监控,发现违规立刻后台停止直播。(前台管理、直播管理)
五、点击下方+可以选择上传或拍摄短视频。或者发起直播。直播界面需设置标题,设置标题后方可发起直播。
进入直播后左上角显示在线观看直播人数及用户自己的ID。下方进行评论,与主播互动,评论右侧的小图标则为翻转镜头和闪光灯的选项
六、点击拍摄短视频,进入短视频拍摄页面,页面下方可直接选择视频快慢速,拍摄时间与ios相同,为10s,点击红色按钮为开始拍摄,按钮左侧为切换摄像头、右侧为删除已拍摄视频,页面右侧从上到下依次为,音乐,边框。
七、点击我的页面显示用户自己ID,及性别、年龄、星座等基本资料。可以查看获赞数量、关注用户、粉丝数量。点击右上方省略号可以编辑资料,查看钱包,设置等
用户退出登录在设置。钱包,在后台管理前台设置,充值管理及充值规则里可以设置充值兑换金币等。
短视频系统源码特色
1.完全开源的短视频源码,可直接搭建部署短视频平台,支持二次开发。
2.持续更新优化的美颜SDK及各类短视频平台。
3.可打造独立短视频平台,也可用于新媒体资讯、IM通讯、社区内容分享等场景。
有现成的源码程序,可以找源码服务商咨询
❹ 抖音小程序开发
据传,抖音将在7月前后正式上线小程序,以抖音当前的热度,显然将开启一波开发大潮,不过对于很多人而言,小程序依然属于高技术产品,所以下面就来谈谈抖音小程序的开发和制作方法:
1、自行开发
对于有技术有实力的开发者而言,完全可以自己开发,由于抖音与头条同属字节跳动旗下产品,因此抖音小程序需要到字节跳动官网注册和申请,按照要求提供各项资质,通过后就可以开始写代码了,完成开发后上传代码包等待官方审核,一切准备就绪后就可以上线使用了。
2、第三方模板
而对于不懂开发也没有特别要求的大部分商家而言,第三方小程序平台的行业模板就是最佳的选择,模板的好处在于价格便宜,且由平台负责上线前后的所有技术工作,包括了提交审核、支付配置、服务器和域名备案等。
3、源码配置
而对于有一定数据安全要求的企业而言,最适合的方式就是买断源码,可以获得终生使用权,并且能自行修改,但与之相伴的就是要自己解决服务器、域名、短信通知和后续的维护更新工作,并且源码可以进行复制,因此价格也高出不少。