Winsoft Media Recorder for Android v1.5 Delphi/C++ Builder XE5 - 10.3 Full Source

Winsoft Media Recorder for Android v1.5 Delphi/C++ Builder XE5 - 10.3 Full Source

Winsoft Media Recorder for Android v1.5 Delphi/C++ Builder XE5 - 10.3 Full Source
Winsoft Media Recorder for Android v1.5 Delphi/C++ Builder XE5 - 10.3 Full Source


Delphi and C++ Builder media recorder component for Android.

uses Android MediaRecorder API
provides audio and video recording
camera component is included
available for Delphi/C++ Builder XE5 - 10.3
source code included in full version
royalty free distribution in applications

type
  EMediaRecorderError = class(Exception);

  TAudioSource =
  (
    asDefault, asMicrophone, asVoiceUplink, asVoiceDownlink,
    asVoiceCall, asCamcorder, asVoiceRecognition, asVoiceCommunication,
    asRemoteSubmix, asUnprocessed, asPerformance
  );

  TAudioEncoder = (aeDefault, aeAmrNb, aeAmrWb, aeAac, aeHeAac, aeAacEld, aeVorbis, aeOpus);

  TVideoEncoder = (veDefault, veH263, veH264, veMpeg4Sp, veVP8, veHevc);

  TOutputFormat = (ofDefault, of3Gpp, ofMpeg4, ofAmrNb, ofAmrWb, ofAacAdts, ofMpeg2Ts, ofWebM, ofOgg);

  TOrientation = (orDefault, or0Deg, or90Deg, or180Deg, or270Deg);

  TInfo = (inUnknown, inMaxDuration, inMaxFileSize);

  TInfoEvent = procedure(Sender: TObject; What: TInfo; Extra: Integer) of object;

  TError = (erUnknown, erServerDied);

  TErrorEvent = procedure(Sender: TObject; What: TError; Extra: Integer) of object;

  TQualityLevel =
  (
    qlDefault,
    qlLow, qlHigh, qlQCif, qlCif, ql480p, ql720p, ql1080p, qlQVga, ql2160p,
    qlTimeLapseLow, qlTimeLapseHigh, qlTimeLapseQCif, qlTimeLapseCif,
    qlTimeLapse480p, qlTimeLapse720p, qlTimeLapse1080p, qlTimeLapseQVga, qlTimeLapse2160p,
    qlHighSpeedLow, qlHighSpeedHigh, qlHighSpeed480p, qlHighSpeed720p,
    qlHighSpeed1080p, qlHighSpeed2160p
  );

  TAMediaRecorder = class(TComponent)
  public
    constructor Create(AOwner: TComponent);
    procedure RequestPermissions;
    procedure Start;
    procedure Stop;
    property MaxAudioSource: Integer read;
    property MaxAmplitude: Integer read;
    property MediaRecorder: JMediaRecorder read;
    property PermissionsGranted: Boolean read;
  published
    property About: string read stored False;
    property Active: Boolean read write default False;
    property AudioChannels: Integer read write default 0;
    property AudioEncoder: TAudioEncoder read write default aeDefault;
    property AudioEncodingBitRate: Integer read write default 0;
    property AudioSamplingRate: Integer read write default 0;
    property AudioSource: TAudioSource read write default asDefault;
    property Camera: TACamera read write;
    property CaptureRate: Double read write;
    property Location: TLocation read write;
    property MaxDuration: Integer read write default 0;
    property MaxFileSize: Integer read write default 0;
    property OrientationHint: TOrientation read write default orDefault;
    property OutputFile: string read write;
    property OutputFormat: TOutputFormat read write default ofDefault;
    property Profile: TQualityLevel read write default qlDefault;
    property VideoEncoder: TVideoEncoder read write default veDefault;
    property VideoEncodingBitRate: Integer read write default 0;
    property VideoFrameRate: Integer read write default 0;
    property VideoSize: TSize read write;
    // Events
    property OnDisplayRationale: TDisplayRationaleEvent read write;
    property OnError: TErrorEvent read write;
    property OnInfo: TInfoEvent read write;
    property OnPermissions: TNotifyEvent read write;
  end;




Only for V.I.P
Warning! You are not allowed to view this text.