delphi xe系列自带的控件都无法保存录像,经网友帮忙,昨天终于实现了录像功能(但有个问题是录像时无画面显示),程序主要使用了JMediaRecorder,MediaRecorder的使用方法可参考网上java的相关说明,下面代码是可以正常录像的:

unit Unit8;

interface

uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
Androidapi.Helpers, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,FMX.Media.Android,Androidapi.JNI.Media,
FMX.Controls.Presentation, FMX.StdCtrls,System.IOUtils,Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.Provider,
Androidapi.JNI.App,
Androidapi.JNI.Net,
Androidapi.JNIBridge,
FMX.Media,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.Os; type
TForm8 = class(TForm)
Button3: TButton;
Button4: TButton;
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
texture : JSurfaceTexture;
surface: JSurface;
recorder: JMediaRecorder;
public
{ Public declarations }
end; var
Form8: TForm8; implementation {$R *.fmx} procedure TForm8.Button3Click(Sender: TObject);
VAR FILENAME:STRING;
begin
texture := TJSurfaceTexture.JavaClass.init(1);
surface := TJSurface.JavaClass.init(texture);
recorder := TJMediaRecorder.Create(); recorder.setPreviewDisplay(surface);
recorder.setAudioSource(TJMediaRecorder_AudioSource.JavaClass.MIC );
recorder.setVideoSource(TJMediaRecorder_VideoSource.JavaClass.CAMERA);
recorder.setOutputFormat(TJMediaRecorder_OutputFormat.JavaClass.MPEG_4);
recorder.setAudioEncoder(TJMediaRecorder_AudioEncoder.JavaClass.DEFAULT);
recorder.setVideoEncoder(TJMediaRecorder_VideoEncoder.JavaClass.H264);
recorder.setMaxDuration(1800000); // 30 minutes
recorder.setVideoSize(320, 240);
recorder.setVideoFrameRate(15);
filename:=TPath.GetSharedCameraPath+'/abc0002.mp4';
recorder.setOutputFile(StringToJString(FILENAME));
recorder.prepare();
recorder.start();
end; procedure TForm8.Button4Click(Sender: TObject);
begin
recorder.stop;
end; end.

https://www.cnblogs.com/qiufeng2014/p/4809144.html

delphi android 录像(使用了JMediaRecorder,MediaRecorder的使用方法)的更多相关文章

  1. delphi android 录像(使用了JMediaRecorder,MediaRecorder的使用方法可参考网上java的相关说明)

    delphi xe系列自带的控件都无法保存录像,经网友帮忙,昨天终于实现了录像功能(但有个问题是录像时无画面显示),程序主要使用了JMediaRecorder,MediaRecorder的使用方法可参 ...

  2. delphi android 录像(调用Java的功能)

    delphi xe系列自带的控件都无法保存录像,经网友帮忙,昨天终于实现了录像功能(但有个问题是录像时无画面显示),程序主要使用了JMediaRecorder,MediaRecorder的使用方法可参 ...

  3. delphi android 录像

    delphi xe系列自带的控件都无法保存录像,经网友帮忙,昨天终于实现了录像功能(但有个问题是录像时无画面显示),程序主要使用了JMediaRecorder,MediaRecorder的使用方法可参 ...

  4. Android(java)学习笔记144:Android音视频录制类MediaRecorder用法举例

    Android语音录制可以通过MediaRecorder和AudioRecorder.MediaRecorder本来是多媒体录制控件,可以同时录制视频和语音,当不指定视频源时就只录制语音(默认录制语言 ...

  5. Delphi Android USB Interface with the G2

    来源:http://www.bverhue.nl/g2dev/?p=65 Delphi Android USB Interface with the G2 Leave a reply I first ...

  6. Delphi Android 询问框

    Delphi Android 询问框 http://community.embarcadero.com/blogs/entry/xe7-dialog-box-methods-support-anony ...

  7. Android应用开发SharedPreferences存储数据的使用方法

    Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的 ...

  8. Android HTTP实例 使用GET方法和POST方法发送请求

    Android HTTP实例 使用GET方法和POST方法发送请求 Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息 ...

  9. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

随机推荐

  1. ListView更新方法的优化

    ListView和Adapter对象均具备有对象更新方法 ListView对象列表的更新方法1.invalidate();--重绘组件2.invlidateView()--重绘组件并包含所有的View ...

  2. hdu 1575(矩阵快速幂)

    Tr A Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. vue框架及其

    Vue常用UI框架 PC端: 1. ElementUI:http://element-cn.eleme.io/#/zh-CN 2. iView:https://www.iviewui.com/ 3. ...

  4. 358. Rearrange String k Distance Apart

    /* * 358. Rearrange String k Distance Apart * 2016-7-14 by Mingyang */ public String rearrangeString ...

  5. GCD CoreData 简化CoreData操作(转)

    来自会员带睡帽的青蛙的分享: 短话长说,开始写这个小工具到现在有两个月了,虽然东西少,但是很精练,改了又改,期间有不少问题 在坛子里获得了不少帮助 谢谢各位大大. 就是两个文件一个类 CoreData ...

  6. mysql 存储过程时间月份减法

    declare startTime VARCHAR(19) default '2014-00-00 00:00:00'; declare tempTime VARCHAR(19) default NO ...

  7. java多个文件压缩下载

    public static void zipFiles(File[] srcfile,ServletOutputStream sos){ byte[] buf=new byte[1024]; try ...

  8. python(32)- 模块练习Ⅱ:使用正则表达式实现计算器的功能

    开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...

  9. linux系列之-—04 自动删除n天前日志【转】

    让Linux系统定时清理一些不需要的文件,日志很有必要 1. 删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; ...

  10. 简单理解javascript中的原型对象,实现对之间共享属性和行为

    javascript中提供了构造函数.可以方便的创建对象. 典型的构造函数例如以下: function Person(name, age) { this.name = name; this.age = ...