помогите разобраться.... по идее должно проигрывать, но тишина.....?
unit Unit5;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,FMX.Platform.Android,
Androidapi.JNI.Net,
Androidapi.JNIBridge,
Androidapi.JNI.JavaTypes,
Androidapi.JNI.Media, FMX.Controls.Presentation, FMX.StdCtrls;
type
TForm5 = class(TForm)
Label1: TLabel;
Timer1: TTimer;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
AudioRecorder: JAudioRecord;
sampleRate: Integer;
channelConfig: Integer;
audioFormat: Integer;
minBufSize: Integer;
AudioMem: TMemoryStream;
AudioStr: TJavaArray<SmallInt>;
enable_audio:Boolean;
AudioPlay: JAudioTrack;
AudioStream: TJavaArray<SmallInt>;
trackmin: Integer;
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.fmx}
procedure TForm5.Button1Click(Sender: TObject);
begin
(AudioRecorder as JAudioRecord).stop;
(AudioRecorder as JAudioRecord).release;
trackmin:= TJAudioTrack.JavaClass.getMinBufferSize(11025,
TJAudioFormat.JavaClass.CHANNEL_OUT_MONO,
TJAudioFormat.JavaClass.ENCODING_PCM_16BIT);
AudioStream:= TJavaArray<SmallInt>.Create(trackmin);
AudioPlay:= TJAudioTrack.JavaClass.init(TJAudioManager.JavaClass.STREAM_MUSIC,
11025,
TJAudioFormat.JavaClass.CHANNEL_OUT_MONO,
TJAudioFormat.JavaClass.ENCODING_PCM_16BIT,
trackmin,
TJAudioTrack.JavaClass.MODE_STREAM);
(AudioPlay as JAudiotrack).play;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
enable_audio:=false;
sampleRate:= 11025;
channelConfig:= TJAudioFormat.JavaClass.CHANNEL_IN_MONO;
audioFormat:= TJAudioFormat.JavaClass.ENCODING_PCM_16BIT;
// minBufSize = 1024 Bytes
minBufSize:= TJAudioRecord.JavaClass.getMinBufferSize(sampleRate, channelConfig, audioFormat);
// AudioRecover = 1024*4 = 4096
AudioStr:= TJavaArray<SmallInt>.Create(minBufSize*4);
AudioMem:= TMemoryStream.Create;
AudioRecorder:= TJAudioRecord.JavaClass.init(TJMediaRecorder_AudioSource.JavaClass.MIC,
sampleRate,
channelConfig,
audioFormat,
minBufSize*4);
(AudioRecorder as JAudioRecord).startRecording;
Timer1.Enabled:= True;
end;
end.