From fea52e269bd5ba6a69f421f48d6eaddfb86ad00f Mon Sep 17 00:00:00 2001 From: lss <lsc@hdlchina.com.cn> Date: 星期四, 22 四月 2021 16:55:55 +0800 Subject: [PATCH] 2021-04-22 --- HDL-ON_Android/libs/armeabi-v7a/libGMCrypto.so | 0 HDL-ON_Android/libs/armeabi-v7a/libconfigsdk.so | 0 HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs | 148 +++++++++++ HDL-ON_Android/libs/armeabi-v7a/libgnustl_shared.so | 0 HDL-ON_Android/libs/armeabi-v7a/libLechangeSDK.so | 0 HDL-ON_Android/libs/armeabi-v7a/libLCOpenApiClient.so | 0 HDL-ON_Android/libs/armeabi-v7a/libSoftAPConfig.so | 0 HDL-ON_Android/LeChengVideoActivity.cs | 304 +++++++++++++++++++++++ HDL-ON_Android/libs/armeabi-v7a/libnetsdk.so | 0 HDL-ON_Android/libs/armeabi-v7a/libSmartConfig.so | 0 HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs | 317 ++++++++++++++++++++++++ HDL-ON_Android/libs/armeabi-v7a/libjninetsdk.so | 0 DLL/LC/Android/LC_SDK.dll | 0 13 files changed, 769 insertions(+), 0 deletions(-) diff --git a/DLL/LC/Android/LC_SDK.dll b/DLL/LC/Android/LC_SDK.dll new file mode 100644 index 0000000..5a649ed --- /dev/null +++ b/DLL/LC/Android/LC_SDK.dll Binary files differ diff --git a/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs b/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs new file mode 100644 index 0000000..23cefec --- /dev/null +++ b/HDL-ON_Android/LeChengVideo/Form/MonitorFragment.cs @@ -0,0 +1,148 @@ +锘� +using System.Threading; +using Android.App; +using Android.Icu.Text; +using Android.OS; +using Android.Views; +using Android.Widget; +using Java.Util; + +namespace HDL_ON_Android.LeChengView.Form +{ + public class MonitorFragment : Fragment, View.IOnClickListener + { + + private View mView; + + // 鎴浘 + private LinearLayout screenshotLayout; + private ImageView screenImage; + private TextView ScreenText; + + //寮�閿� + private LinearLayout unlockLayout; + private ImageView unlockImag; + private TextView unlockText; + + // 鏇存柊绾跨▼ + private Thread thread = null; + + private LeChengVideoActivity CurtActivity; + + public override void OnCreate(Bundle savedInstanceState) + { + base.OnCreate(savedInstanceState); + + CurtActivity = (LeChengVideoActivity)this.Activity; + } + + public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + mView = inflater.Inflate(Resource.Layout.fragment_monitor, container, false); + + IniView(); + + CurtActivity.Play(); + CurtActivity.OpenAudio(); + + return mView; + } + + private void IniView() + { + screenshotLayout = (LinearLayout)mView.FindViewById(Resource.Id.icon_sceenshotLayout); + screenImage = (ImageView)mView.FindViewById(Resource.Id.icon_sceenshotImg); + ScreenText = (TextView)mView.FindViewById(Resource.Id.icon_sceenshotText); + + unlockLayout = (LinearLayout)mView.FindViewById(Resource.Id.icon_unlockLayout); + unlockImag = (ImageView)mView.FindViewById(Resource.Id.icon_unlockImg); + unlockText = (TextView)mView.FindViewById(Resource.Id.icon_unlockText); + + unlockLayout.SetOnClickListener(this); + screenshotLayout.SetOnClickListener(this); + } + + + + /// <summary> + /// 寮�閿� + /// </summary> + private void Unlock() + { + // + } + + /// <summary> + /// 鏇存柊寮�閿佹寜閽姸鎬� + /// </summary> + private void UpdataUnlockState() + { + try + { + //寮�閿佹垚鍔燂紝15绉掑唴涓嶇粰鍐嶇偣鍑绘寜閽� + unlockLayout.Enabled = false; + if (thread != null) + { + try + { + thread.Interrupt(); + } + catch { } + thread = null; + } + + thread = new Thread(() => + { + try + { + Thread.Sleep(15 * 1000); + + Activity.RunOnUiThread(() => + { + if (unlockLayout != null) + unlockLayout.Enabled = true; + }); + } + catch { } + }); + + thread.Start(); + } + catch { } + } + + public void OnClick(View v) + { + // + if (v.Equals(unlockLayout)) + { + //寮�閿� + } + else if (v.Equals(screenshotLayout)) + { + //鏈夎棰戣繃鏉ュ彲璋冪敤姝ゆ帴鍙h繘琛屾媿鐓� + // 鍐呴儴鍌ㄥ瓨/DCIM/Camera/.....jpg + screenImage.Selected = true; + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); + string time = format.Format(new Date(SystemClock.CurrentThreadTimeMillis())); + string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/Camera"; + string path = ss + "/" + time + ".jpg"; + } + } + + public override void OnDestroy() + { + base.OnDestroy(); + + if (thread != null) + { + try + { + thread.Interrupt(); + } + catch { } + thread = null; + } + } + } +} \ No newline at end of file diff --git a/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs b/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs new file mode 100644 index 0000000..84d67cf --- /dev/null +++ b/HDL-ON_Android/LeChengVideo/Form/ReverseCallFragment.cs @@ -0,0 +1,317 @@ +锘� +using System; +using System.Collections.Generic; +using System.Threading; +using Android.App; +using Android.Icu.Text; +using Android.OS; +using Android.Runtime; +using Android.Util; +using Android.Views; +using Android.Widget; +using HDL_ON.Common; +using HDL_ON.DAL.Server; +using Java.Util; + +namespace HDL_ON_Android.LeChengView.Form +{ + public class ReverseCallFragment : Fragment, View.IOnClickListener + { + + private View mView; + + private ImageView screenshotImg;// 鎴浘 + private ImageView unlockImg;// 寮�閿� + private LinearLayout answerLayout; // 鎺ュ惉 + private ImageView hangupImg;// 鎸傛柇 + private ImageView answerImg;// 鎺ュ惉 + private TextView hangupText; + + private TextView tvTip; + + private System.Threading.Timer timer = null; + private int Time = 0; + + private static LeChengVideoActivity CurtActivity; + + public override void OnCreate(Bundle savedInstanceState) + { + base.OnCreate(savedInstanceState); + + CurtActivity = (LeChengVideoActivity)this.Activity; + } + + public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) + { + mView = inflater.Inflate(Resource.Layout.fragment_call, container, false); + + IniView(); + + CurtActivity.Play(); + + CurtActivity.CloseAudio(); + + return mView; + } + + private void IniView() + { + screenshotImg = (ImageView)mView.FindViewById(Resource.Id.callScreenshotImg);// + unlockImg = (ImageView)mView.FindViewById(Resource.Id.callUnlockImg);// + tvTip = (TextView)mView.FindViewById(Resource.Id.callTipText); + answerLayout = (LinearLayout)mView.FindViewById(Resource.Id.callAnswerLayout); + hangupImg = (ImageView)mView.FindViewById(Resource.Id.callHangupImg); + answerImg = (ImageView)mView.FindViewById(Resource.Id.callAnswerImg); + hangupText = (TextView)mView.FindViewById(Resource.Id.callHangupText); + + screenshotImg.SetOnClickListener(this); + unlockImg.SetOnClickListener(this); + hangupImg.SetOnClickListener(this); + answerImg.SetOnClickListener(this); + + hangupText.SetText(GetString(Resource.String.video_not_answer), null); + tvTip.SetText(GetString(Resource.String.calling), null); + } + + + /// <summary> + /// 寮�閿� + /// </summary> + private void PostUnlock() + { + //寮�閿侊紝褰撴敹鍒版潵鐢典俊鎭椂鍙繘琛屽紑閿佹搷浣� + new Thread(() => + { + try + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("deviceId", CurtActivity.DeviceId);//璁惧id + string jsonString = HttpUtil.GetSignRequestJson(d); + + string url = "/home-wisdom/platform/imou/openDoorbell"; + ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); + Log.Info("LcVideo", "Post Unlock Response code=" + response.Code); + } + catch { } + + }).Start(); + } + + /// <summary> + /// 鏇存柊寮�閿佹寜閽姸鎬�,寮�閿佹垚鍔燂紝15绉掑唴涓嶇粰鍐嶇偣鍑绘寜閽� + /// </summary> + private void UpdataUnlockState() + { + try + { + if (unlockImg == null) return; + + unlockImg.Enabled = false; + + new Thread(() => + { + Thread.Sleep(15 * 1000); + Activity.RunOnUiThread(() => + { + if (unlockImg != null) + unlockImg.Enabled = true; + }); + }).Start(); + } + catch { } + } + + private string GetTime(int time) + { + + int m = time / 60; + int s = time % 60; + + return UnitFormat(m) + ":" + UnitFormat(s); + + } + + private static string UnitFormat(int i) + { + string retStr = null; + if (i >= 0 && i < 10) + retStr = "0" + i; + else + retStr = "" + i; + return retStr; + } + + /// <summary> + /// 閫氳瘽璁板綍璁℃椂鍣紝浠庢媺娴佹垚鍔熷紑濮嬭绠楁椂闂� + /// </summary> + public void TimeStarts() + { + try + { + if (timer != null) + timer.Dispose(); + + TimerCallback timerCallback = new TimerCallback(Tick); + timer = new System.Threading.Timer(timerCallback, null, 0, 1000); + + } + catch (Exception) { } + } + + public void TimeEnd() + { + Time = 0; + + if (timer != null) + { + timer.Dispose(); + timer = null; + } + } + + public void Tick(object state) + { + try + { + Activity.RunOnUiThread(() => + { + try + { + Time++; + if (tvTip != null) + tvTip.SetText(GetTime(Time), null); + } + catch { } + }); + } + catch { } + } + + public void OnClick(View v) + { + if (v.Equals(answerImg)) + { + //鎺ユ敹鏉ョ數 + CurtActivity.StartTalk(); + answerLayout.Visibility = ViewStates.Gone; + PostAnswer(); + } + else if (v.Equals(hangupImg)) + { + CurtActivity.StopTalk(); + PostHangup(); + TimeEnd(); + Activity.Finish(); + } + else if (v.Equals(screenshotImg)) + { + //鏈夎棰戣繃鏉ュ彲璋冪敤姝ゆ帴鍙h繘琛屾媿鐓� + } + else if (v.Equals(unlockImg)) + { + PostUnlock(); + } + } + + /// <summary> + /// post 鎴浘 + /// </summary> + /// <param name="path">鎴浘淇濈暀鐨勮矾寰�</param> + private void PostScreenshot(string path) + { + new Thread(() => + { + try + { + string[] str = path.Split("/"); + string img_name = str.GetValue(str.Length - 1).ToString().Replace(".jpg", ""); + byte[] images = FileUtlis.Files.ReadFileForPath(path); + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("callId", VideoActivity.CallId); + d.Add("images", images); + d.Add("imagesName", img_name); + string jsonString = HttpUtil.GetSignRequestJson(d); + + string url = "/home-wisdom/app/fl/vi/screenshot"; + ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); + Log.Info("LcVideo", "Post Screenshot Response code=" + response.Code); + } + catch { } + + }).Start(); + } + + /// <summary> + /// post 鎺ュ惉鐢佃瘽璁板綍 + /// </summary> + public void PostAnswer() + { + new Thread(() => + { + try + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("callId", CurtActivity.CallId);//鍛煎彨id + d.Add("callStatus", "RECEIVED");//鍙敤鍊�:MISSED,RECEIVED,REJECT + // d.Add("callDuration", Time);//閫氳瘽鏃堕暱锛堢锛� + d.Add("interphoneTypeEnum", "IMOUVISIAL");//鍙敤鍊�:FLVI,IMOUVISIAL + string jsonString = HttpUtil.GetSignRequestJson(d); + + string url = "/home-wisdom/platform/imou/updateCallStatus"; + ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); + Log.Info("LcVideo", "Post Answer Response code=" + response.Code); + } + catch { } + + }).Start(); + } + + /// <summary> + /// post 鎸傛柇鐢佃瘽璁板綍 + /// </summary> + public void PostHangup() + { + new Thread(() => + { + try + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("callId", CurtActivity.CallId);//鍛煎彨id + //d.Add("callStatus", "REJECT");//鍙敤鍊�:MISSED,RECEIVED,REJECT + d.Add("callDuration", Time);//閫氳瘽鏃堕暱锛堢锛� + d.Add("interphoneTypeEnum", "IMOUVISIAL");//鍙敤鍊�:FLVI,IMOUVISIAL + string jsonString = HttpUtil.GetSignRequestJson(d); + + string url = "/home-wisdom/platform/imou/updateCallStatus"; + ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); + Log.Info("LcVideo", "Post Hangup Response code=" + response.Code); + } + catch { } + + }).Start(); + } + + /// <summary> + /// post 鎷掓帴璁板綍,浠呭彧鏈夊湪姝e父鎸傛柇鐘舵�佷笅鎵嶆彁浜ら�氳瘽鏃堕棿 + /// </summary> + public void PostReject() + { + new Thread(() => + { + try + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("callId", CurtActivity.CallId);//鍛煎彨id + d.Add("callStatus", "REJECT");//鍙敤鍊�:MISSED,RECEIVED,REJECT + string jsonString = HttpUtil.GetSignRequestJson(d); + + string url = "/home-wisdom/platform/imou/updateCallStatus"; + ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString); + Log.Info("LcVideo", "Post Reject Response code=" + response.Code); + } + catch { } + + }).Start(); + } + } +} diff --git a/HDL-ON_Android/LeChengVideoActivity.cs b/HDL-ON_Android/LeChengVideoActivity.cs new file mode 100644 index 0000000..71cb5b4 --- /dev/null +++ b/HDL-ON_Android/LeChengVideoActivity.cs @@ -0,0 +1,304 @@ +锘� +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Android; +using Android.App; +using Android.Content; +using Android.Content.PM; +using Android.Graphics; +using Android.OS; +using Android.Runtime; +using Android.Support.V4.App; +using Android.Support.V4.Content; +using Android.Util; +using Android.Views; +using Android.Widget; +using Com.Lechange.Opensdk.Api; +using Com.Lechange.Opensdk.Device; +using Com.Lechange.Opensdk.Listener; +using Com.Lechange.Opensdk.Media; +using HDL_ON.DAL.Server; +using HDL_ON_Android.LeChengView.Form; +using Java.Lang; + +namespace HDL_ON_Android +{ + [Activity(Label = "LeChengVideoActivity", WindowSoftInputMode = SoftInput.AdjustResize, LaunchMode = LaunchMode.SingleInstance, ConfigurationChanges = (ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.LayoutDirection | ConfigChanges.Locale | ConfigChanges.Orientation | ConfigChanges.ScreenSize), Theme = "@style/MyTheme1", ScreenOrientation = ScreenOrientation.Portrait)] + public class LeChengVideoActivity : Activity, View.IOnClickListener + { + private static LeChengVideoActivity CurtActivity; + // + private string URL = "openapi.easy4ip.com:443"; + public string AccessToken = ""; + public string DeviceId = ""; + public string Psk = ""; + public string PlayToken = "";//鎾斁playToken + public string CallId = "";//鍛煎彨Id + private int Type = 0;//0鐩戞帶锛�1瀵硅 + /// <summary> + /// 0:鍥藉唴锛�1娴峰 + /// </summary> + private int Location = 0; + + private FrameLayout flWindow; + private FrameLayout flWindowContent; + private ImageView ivBack; + private TextView tvName; + private MonitorFragment monitorFragment = null; + private ReverseCallFragment reverseCallFragment = null; + + public LCOpenSDK_PlayWindow mPlayWindow; + + protected override void OnCreate(Bundle savedInstanceState) + { + base.OnCreate(savedInstanceState); + + SetContentView(Resource.Layout.activity_video_phone); + + CurtActivity = this; + AccessToken = Intent.GetStringExtra("AccessToken");//"St_0000d307a13c965c4db285469484490e" + DeviceId = Intent.GetStringExtra("DeviceId");//6K056CFAAJ8FFA1 + Psk = Intent.GetStringExtra("Psk");//6K056CFAAJ8FFA1 + PlayToken = Intent.GetStringExtra("PlayToken"); // 鎾斁playToken//"8a5e041afa674a2ba3e84d90a54ea962" + Type = Intent.GetIntExtra("Type", 0);//0鐩戞帶锛�1瀵硅//1 + Location = Intent.GetIntExtra("Location", 0);//1 + CallId = Intent.GetStringExtra("callId");//1384766990812426242 + + InitLCSDK(); + + IniView(); + + IniData(); + + Permissions(); + + if (Type == 0) + { + monitorFragment = new MonitorFragment(); + FragmentManager.BeginTransaction().Replace(Resource.Id.content, monitorFragment).Commit(); + } + else + { + reverseCallFragment = new ReverseCallFragment(); + FragmentManager.BeginTransaction().Replace(Resource.Id.content, reverseCallFragment).Commit(); + } + } + + private void IniView() + { + // + flWindowContent = (FrameLayout)FindViewById(Resource.Id.remoteFrame); + flWindow = (FrameLayout)FindViewById(Resource.Id.live_window); + + ivBack = (ImageView)FindViewById(Resource.Id.videoBackImg); + tvName = (TextView)FindViewById(Resource.Id.nameText); + + tvName.SetText("DeviceName", null); + ivBack.SetOnClickListener(this); + + } + + private void IniData() + { + // + //SetStatusBarColor();// 杩欓噷璁捐鐨凾opBarColor鏄櫧鑹诧紝涓庣郴缁熷鑸爮瀛椾綋棰滆壊涓�鐩达紝鏆傛椂灞忚斀涓嶇敤 + + mPlayWindow = new LCOpenSDK_PlayWindow(); + mPlayWindow.InitPlayWindow(this, flWindowContent, 0, true); + + //if (Location == 1) + URL = "openapi.easy4ip.com:443"; + } + + /// <summary> + /// 鍒濆鍖栦箰姗欏簱 + /// </summary> + private void InitLCSDK() + { + InitParams initParams = new InitParams(this, URL, AccessToken); + LCOpenSDK_Api.InitOpenApi(initParams); + } + + /// <summary> + /// 寮�濮嬫挱鏀撅紙棰勮锛� + /// </summary> + public void Play() + { + try + { + LCOpenSDK_ParamReal paramReal = new LCOpenSDK_ParamReal(AccessToken, DeviceId, 0, Psk, PlayToken, 1, false, true); + mPlayWindow.PlayRtspReal(paramReal); + } + catch (System.Exception e) + { + string sss = e.Message; + } + } + + /// <summary> + /// 鍋滄棰勮锛堝仠姝㈡挱鏀剧敾闈級 + /// </summary> + public void Stop() + { + mPlayWindow.StopRtspReal(true);//鍏抽棴瑙嗛 + } + + /// <summary> + /// 鎵撳紑瀵硅 + /// </summary> + public void StartTalk() + { + CloseAudio();// 鍏抽棴Audio + LCOpenSDK_Talk.Listener = new AudioTalkerListener();//璁剧疆瀵硅鐩戝惉 + // 瀵硅鍙傛暟 + LCOpenSDK_ParamTalk paramTalk = new LCOpenSDK_ParamTalk(AccessToken, DeviceId, -1, Psk, PlayToken, true); + LCOpenSDK_Talk.PlayTalk(paramTalk); + } + + /// <summary> + /// 鍏抽棴瀵硅 + /// </summary> + public void StopTalk() + { + LCOpenSDK_Talk.StopTalk(); + LCOpenSDK_Talk.Listener = null; + } + + /// <summary> + /// 鎵撳紑澹伴煶锛堥瑙堢殑鏃跺�欏彲浠ュ惉鍒伴棬鍙f満浼犳潵鐨勫0闊筹級 + /// </summary> + /// <returns></returns> + public bool OpenAudio() + { + return mPlayWindow.PlayAudio() == 0; + } + + /// <summary> + /// 鍏抽棴澹伴煶锛堥瑙堢殑鏃跺�欏叧闂棬鍙f尋浼犳潵鐨勫0闊筹紝娉ㄦ剰锛氭墦寮�瀵硅鏃堕渶瑕佸厛璋冪敤姝ゆ柟娉曞叧闂0闊筹級 + /// </summary> + /// <returns></returns> + public bool CloseAudio() + { + return mPlayWindow.StopAudio() == 0; + } + + /// <summary> + /// 璁剧疆椤堕儴鐘舵�佹爮鑳屾櫙閫忔槑 + /// </summary> + private void SetStatusBarColor() + { + Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds); + Window.SetStatusBarColor(Color.Transparent); + } + + /// <summary> + /// 蹇呰鐨勪竴浜涙潈闄� + /// </summary> + private void Permissions() + { + string[] mPermissionList = new string[] + { + Manifest.Permission.WriteExternalStorage, + Manifest.Permission.ReadExternalStorage, + Manifest.Permission.Camera, + Manifest.Permission.RecordAudio + }; + + foreach (string permissions in mPermissionList) + { + if (ContextCompat.CheckSelfPermission(this, permissions) != 0) + { + ActivityCompat.RequestPermissions(this, new string[] { permissions }, 1); + } + } + } + + /// <summary> + /// 鐐瑰嚮浜嬩欢 + /// </summary> + /// <param name="v"></param> + public void OnClick(View v) + { + if (v.Equals(ivBack)) + { + this.Finish(); + } + } + + protected override void OnDestroy() + { + base.OnDestroy(); + + Stop(); + mPlayWindow.UninitPlayWindow();//閿�姣佸簳灞傝祫婧� + } + + /// <summary> + /// 瀵硅鐩戝惉 + /// </summary> + class AudioTalkerListener : LCOpenSDK_TalkerListener + { + /// <summary> + /// 瀵硅缁撴灉鍥炶皟 + /// </summary> + /// <param name="error"></param> + /// <param name="type"></param> + public override void OnTalkResult(string error, int type) + { + base.OnTalkResult(error, type); + + try + { + bool talkResult = false; + if (type == 99 || error.Equals("-1000") || error.Equals("0") || error.Equals("1") || error.Equals("3")) + { + talkResult = false; + } + else if (error.Equals("4")) + { + talkResult = true; + } + + if (!talkResult) + { + // 鎻愮ず瀵硅鎵撳紑澶辫触 + CurtActivity.StopTalk(); + CurtActivity.RunOnUiThread(() => + { + Toast.MakeText(CurtActivity, "鎵撳紑瀵硅澶辫触", ToastLength.Short).Show(); + }); + } + else + { + CurtActivity.reverseCallFragment.PostAnswer();// post鎺ュ惉鐢佃瘽锛岀粰浜戠鍋氳褰� + CurtActivity.reverseCallFragment.TimeStarts();//鎺ラ�氭垚鍔熸墦寮�璁℃椂鍣� + } + } + catch { } + } + + public override void OnTalkPlayReady() + { + base.OnTalkPlayReady(); + } + + public override void OnAudioReceive(byte[] bytes, int p1, int p2, int p3, int p4) + { + base.OnAudioReceive(bytes, p1, p2, p3, p4); + } + + public override void OnAudioRecord(byte[] bytes, int p1, int p2, int p3, int p4) + { + base.OnAudioRecord(bytes, p1, p2, p3, p4); + } + + public override void OnDataLength(int i) + { + base.OnDataLength(i); + } + } + + } +} diff --git a/HDL-ON_Android/libs/armeabi-v7a/libGMCrypto.so b/HDL-ON_Android/libs/armeabi-v7a/libGMCrypto.so new file mode 100644 index 0000000..426d9a0 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libGMCrypto.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libLCOpenApiClient.so b/HDL-ON_Android/libs/armeabi-v7a/libLCOpenApiClient.so new file mode 100644 index 0000000..1c970f7 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libLCOpenApiClient.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libLechangeSDK.so b/HDL-ON_Android/libs/armeabi-v7a/libLechangeSDK.so new file mode 100644 index 0000000..29b0cd2 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libLechangeSDK.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libSmartConfig.so b/HDL-ON_Android/libs/armeabi-v7a/libSmartConfig.so new file mode 100644 index 0000000..4f557b3 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libSmartConfig.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libSoftAPConfig.so b/HDL-ON_Android/libs/armeabi-v7a/libSoftAPConfig.so new file mode 100644 index 0000000..bb7fb84 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libSoftAPConfig.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libconfigsdk.so b/HDL-ON_Android/libs/armeabi-v7a/libconfigsdk.so new file mode 100644 index 0000000..e786702 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libconfigsdk.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libgnustl_shared.so b/HDL-ON_Android/libs/armeabi-v7a/libgnustl_shared.so new file mode 100644 index 0000000..ab79e66 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libgnustl_shared.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libjninetsdk.so b/HDL-ON_Android/libs/armeabi-v7a/libjninetsdk.so new file mode 100644 index 0000000..ee4b507 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libjninetsdk.so Binary files differ diff --git a/HDL-ON_Android/libs/armeabi-v7a/libnetsdk.so b/HDL-ON_Android/libs/armeabi-v7a/libnetsdk.so new file mode 100644 index 0000000..7c759a1 --- /dev/null +++ b/HDL-ON_Android/libs/armeabi-v7a/libnetsdk.so Binary files differ -- Gitblit v1.8.0