Download Winsoft Media Recorder for Android v2.0 Full Source for Delphi/C++ Builder 10 - 11

Winsoft Media Recorder for Android v2.0 Full Source for Delphi/C++ Builder 10 - 11

Winsoft Media Recorder for Android v2.0 Full Source for Delphi/C++ Builder 10 - 11
Winsoft Media Recorder for Android v2.0 Full Source for Delphi/C++ Builder 10 - 11


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 10 - 11
Source code included in full version
Royalty free distribution in applications

What's new

Version 2.0
added Delphi/C++ Builder 11 files
added TAudioDeviceType enumeration
added TAudioEncoding enumeration
added TAudioDeviceInfo record
added TAMediaRecorder.RoutedDevice property
updated Android MediaRecorder API
updated camera component


type
EMediaRecorderError = class(Exception);

TAudioDeviceType =
(
atUnknown, atBuiltInEarpiece, atBuiltInSpeaker, atWiredHeadset,
atWiredHeadphones, atLineAnalog, atLineDigital, atBluetoothSco,
atBluetoothA2DP, atHdmi, atHdmiArc, atUsbDevice, atUsbAccessory,
atDock, atFm, atBuiltInMic, atFmTuner, atTvTuner, atTelephony,
atAuxLine, atIp, atBus, atUsbHeadset, atHearingAid, atBuiltInSpakerSafe
);

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

TAudioEncoding =
(
acInvalid, acDefault, acPcm16Bit, acPcm8Bit, acPcmFloat, acAc3, acEAc3,
acDts, acDtsHd, acMp3, acAacLc, acAacHeV1, acAacHeV2, acIec61937,
acDolbyTrueHd, acAacEld, acAacXhe, acAc4, acEAc3Joc, acDolbyMat, acOpus
);

TAudioDeviceInfo = record
Address: string;
ChannelCounts: TArray;
Encodings: TArray;
Id: Integer;
ProductName: string;
SampleRates: TArray;
Sink: Boolean;
Source: Boolean;
&Type: TAudioDeviceType;
end;

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

TError = (erUnknown, erServerDied);

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

TInfo = (inUnknown, inMaxDuration, inMaxFileSize);

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

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

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

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,
ql2k, ql4kDci, qlQHd, qlVga,
qlHighSpeed4kDci, qlHighSpeedCif, qlHighSpeedVga,
qlTimeLapse2k, qlTimeLapse4kDci, qlTimeLapseQHd, qlTimeLapseVga
);

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

TAMediaRecorder = class(TComponent)
public
constructor Create(AOwner: TComponent);
procedure RequestPermissions(AudioOnly: Boolean = False);
procedure Start;
procedure Stop;
property MaxAudioSource: Integer read;
property MaxAmplitude: Integer read;
property MediaRecorder: JMediaRecorder read;
property PermissionsGranted: Boolean read;
property PrivacySensitive: Boolean read write;
property RoutedDevice: TAudioDeviceInfo read;
published
property аbout: 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.
  • 15