예제 #1
0
		private void HandleRecordingSuccessfulStatus(AudioRecorderEventArgs e)
		{
			ChangeOverlayStatusText(Resources.GetString(Resource.String.RecordingSuccessful));
			HideOverlay();

			if (!IsInAnalyzer) return;
			
			if (!e.HasOutputFile || CurrentData == null || !e.AudioFilePath.Contains(CurrentData.Id))
			{
				HandleRecordingFailedStatus();
				return;
			}

			CurrentData.AudioPath = e.AudioFilePath;
			ServerCommService.PostAnalysis(CurrentData);
		}
예제 #2
0
		private void HandleUpdatePrepareCounterStatus(AudioRecorderEventArgs e)
		{
			HideOverlay();
			
			if (!IsInAnalyzer) return;

			lock (_fragmentLock)
			{
				((AnalyzerTabFragment) _currentFragment).UpdateCountdownView(this, e);
			}
		}
		private void OnCommunication(object s, AudioRecorderEventArgs e)
		{
			var handler = Communication;
			if (handler != null) handler(s, e);
		}
예제 #4
0
		private void OnAudioRecorderCommChanged(object s, AudioRecorderEventArgs e)
		{
			switch (e.Status)
			{
				case AudioRecorderStatus.Starting:
					HandleStartingAudioRecorderServiceStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.StartingAudioRecorderService));
					break;
				case AudioRecorderStatus.Preparing:
					HandlePreparingStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.PreparingAudioRecorderService));
					break;
				case AudioRecorderStatus.Recording:
					HandleRecordingStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.Recording));
					break;
				case AudioRecorderStatus.FinishedPreparing:
					HandleFinishedPreparingStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.FinishedPreparingAudioRecorderService));
					break;
				case AudioRecorderStatus.StoppedRecording:
					HandleStoppedRecordingStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.StoppedRecording));
					break;
				case AudioRecorderStatus.RecordingFailed:
					HandleRecordingFailedStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.RecordingFailed));
					break;
				case AudioRecorderStatus.RecordingSuccessful:
					HandleRecordingSuccessfulStatus(e);
					Log.Debug(Tag, Resources.GetString(Resource.String.RecordingSuccessful));
					break;
				case AudioRecorderStatus.UpdatePrepareCounter:
					HandleUpdatePrepareCounterStatus(e);
					Log.Debug(Tag, Resources.GetString(Resource.String.UpdatePrepareCounter));
					break;
				case AudioRecorderStatus.UpdateRecordingCounter:
					HandleUpdateRecordingCounterStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.UpdateRecordingCounter));
					break;
				case AudioRecorderStatus.Stopped:
					HandleAudioRecorderServiceStoppedStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.AudioRecorderStopped));
					break;
				case AudioRecorderStatus.CheckFailed:
					HandleCheckFailedStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.CheckFailed));
					break;
				case AudioRecorderStatus.CheckSuccessful:
					HandleCheckSuccessfulStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.CheckSuccessful));
					break;
				case AudioRecorderStatus.CheckingSamples:
					HandleCheckingSamplesStatus();
					Log.Debug(Tag, Resources.GetString(Resource.String.CheckingSamples));
					break;
				case AudioRecorderStatus.RecorderInitializationError:
					HandleRecorderInitializationError();
					Log.Debug(Tag, Resources.GetString(Resource.String.RecorderInitializationError));
					break;
				default:
					throw new ArgumentOutOfRangeException();
			}
		}
		public void UpdateCountdownView(Activity activity, AudioRecorderEventArgs e)
		{
			activity.RunOnUiThread(() =>
			{
				if (e.IsCounting)
				{
					_countdownText.Text = e.Counter.ToString(CultureInfo.InvariantCulture);
				}
			});
		}