mobile调用手机摄像机程序
2010-03-22 17:05
316 查看
想实现通过程序调用手机的拍照摄像功能,原打算调用api不过去这方面不懂,查了好长时间终于凑成了一个简的小程序,贴出来:
代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.Forms;
using System.IO;
namespace video22
{
public partial class Form1 : Form
{
//摄像窗体
private CameraCaptureDialog cameraCapture = new CameraCaptureDialog();
//保存路径
private string path = @"\My Documents\测试";
//文件名
private string filname = "";
public Form1()
{
InitializeComponent();
cameraCapture.Owner = this;
}
/// <summary>
/// 短视频50秒
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem4_Click(object sender, EventArgs e)
{
cameraCapture.Mode = CameraCaptureMode.VideoOnly;
//摄像时限50秒
cameraCapture.VideoTimeLimit = new TimeSpan(0, 0, 50);
}
/// <summary>
/// 文件保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem2_Click(object sender, EventArgs e)
{
if (cameraCapture.ShowDialog() == DialogResult.OK)//如果拍摄后按下确定按钮
{
try
{
//随机文件名
string str1 = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
//获取扩展名
string str = cameraCapture.FileName.Substring(cameraCapture.FileName.IndexOf("."));
filname = path + @"\" + str1 + str;
//将文件保存到指定路径
File.Move(cameraCapture.FileName,filname);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
MessageBox.Show("文件已经成功保存!");
}
}
/// <summary>
/// 拍照功能
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem3_Click(object sender, EventArgs e)
{
cameraCapture.Mode = CameraCaptureMode.Still;
}
/// <summary>
/// 长视频13分钟
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem5_Click(object sender, EventArgs e)
{
cameraCapture.Mode = CameraCaptureMode.VideoWithAudio;
}
//private void menuItem6_Click(object sender, EventArgs e)
//{
// if (filname != "")
// {
// SelectPictureDialog ch = new SelectPictureDialog();
// ch.ShowDialog();
// }
//}
private void menuItem7_Click(object sender, EventArgs e)
{
//if (filname != "")
//{
// try
// {
// StreamWriter sr0 = new StreamWriter(@"\My Documents\测试2" + filname.Substring(filname.LastIndexOf("\\")));
// Stream sr1 = File.OpenRead(filname);
// byte[] bs = new byte[sr1.Length];
// sr1.Read(bs, 0, (int)sr1.Length);
// sr0.Write(bs);
// }
// catch (Exception)
// {
// throw;
// }
//}
}
}
}
代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.Forms;
using System.IO;
namespace video22
{
public partial class Form1 : Form
{
//摄像窗体
private CameraCaptureDialog cameraCapture = new CameraCaptureDialog();
//保存路径
private string path = @"\My Documents\测试";
//文件名
private string filname = "";
public Form1()
{
InitializeComponent();
cameraCapture.Owner = this;
}
/// <summary>
/// 短视频50秒
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem4_Click(object sender, EventArgs e)
{
cameraCapture.Mode = CameraCaptureMode.VideoOnly;
//摄像时限50秒
cameraCapture.VideoTimeLimit = new TimeSpan(0, 0, 50);
}
/// <summary>
/// 文件保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem2_Click(object sender, EventArgs e)
{
if (cameraCapture.ShowDialog() == DialogResult.OK)//如果拍摄后按下确定按钮
{
try
{
//随机文件名
string str1 = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
//获取扩展名
string str = cameraCapture.FileName.Substring(cameraCapture.FileName.IndexOf("."));
filname = path + @"\" + str1 + str;
//将文件保存到指定路径
File.Move(cameraCapture.FileName,filname);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
MessageBox.Show("文件已经成功保存!");
}
}
/// <summary>
/// 拍照功能
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem3_Click(object sender, EventArgs e)
{
cameraCapture.Mode = CameraCaptureMode.Still;
}
/// <summary>
/// 长视频13分钟
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void menuItem5_Click(object sender, EventArgs e)
{
cameraCapture.Mode = CameraCaptureMode.VideoWithAudio;
}
//private void menuItem6_Click(object sender, EventArgs e)
//{
// if (filname != "")
// {
// SelectPictureDialog ch = new SelectPictureDialog();
// ch.ShowDialog();
// }
//}
private void menuItem7_Click(object sender, EventArgs e)
{
//if (filname != "")
//{
// try
// {
// StreamWriter sr0 = new StreamWriter(@"\My Documents\测试2" + filname.Substring(filname.LastIndexOf("\\")));
// Stream sr1 = File.OpenRead(filname);
// byte[] bs = new byte[sr1.Length];
// sr1.Read(bs, 0, (int)sr1.Length);
// sr0.Write(bs);
// }
// catch (Exception)
// {
// throw;
// }
//}
}
}
}
相关文章推荐
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 怎么实现调用手机系统拨号和呼叫程序
- 调用手机的摄像头,并且返回照片显示在程序界面上.
- 如何在mobile手机上,调用拍照和录音功能?
- 教你怎么判断手机是否已安装某程序,然后调用该程序
- 在微信浏览器,<intput type="file"> 无法调用手机魅族6pro打开摄像机录视频
- 关于unity3d调用手机摄像机的一些操作
- 怎么用程序实现调用Android手机的拍照功能
- 关于J2ME调用手机拍照的程序问题
- HTML5调用手机摄像机、相册功能 <input>方法
- Android图像采集之一:调用手机自带的照相机程序
- mobile 程序调用现有的cab包
- 怎么用程序实现调用Android手机的拍照功能
- 调用系统程序导入手机上的vcard文件
- unity 调用手机摄像机 识别二维码
- 教你怎么判断手机是否已安装某程序,然后调用该程序
- iOS 在 程序内调用手机上安装的地图软件进行导航
- J2me MIDlet操作手机功能性用法总结(如调用其他程序或者调用其他MIDlet)
- 苹果手机自动默认长数字为手机号,调用拨号程序
- 教你怎么判断手机是否已安装某程序,然后调用该程序