public async Task <string> Decode(Color32Result image) { RecycleByteArray(); m_Width = (int)image.Size.x; m_Height = (int)image.Size.y; await ConvertBytes(image.ColorArr); ZXing.Result result = await DecodeThread(); if (result != null) { return(result.Text); } return(null); }
async Task Scan() { while (IsScanning) { Color32Result image = await UpdateCamera(); if (image != null) { string result = null; try { result = await m_BarcodeDecoder.Decode(image); } catch (Exception e) { Debug.LogError($"Error in Decoder {e}"); } if (result == null) { continue; } // Trigger attached actions try { m_Lock = true; m_Results.Add(result); m_Lock = null; } catch (Exception e) { Debug.LogError(e); } } else { Debug.LogError("Update Camera Failed!"); } await Task.Delay(100); } }