/// <summary> /// Gets the duration of the audio file /// </summary> public void getDurationAudio(string options) { try { MediaOptions mediaOptions; try { mediaOptions = JSON.JsonHelper.Deserialize<MediaOptions>(options); } catch (Exception) { DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION)); return; } AudioPlayer audio; if (Media.players.ContainsKey(mediaOptions.Id)) { audio = Media.players[mediaOptions.Id]; } else { audio = new AudioPlayer(this, mediaOptions.Id); Media.players.Add(mediaOptions.Id, audio); } Deployment.Current.Dispatcher.BeginInvoke(() => { DispatchCommandResult(new PluginResult(PluginResult.Status.OK, audio.getDuration(mediaOptions.Src))); }); } catch(Exception e) { DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, e.Message)); } }
/// <summary> /// Starts recording and save the specified file /// </summary> public void startRecordingAudio(string options) { try { MediaOptions mediaOptions; try { mediaOptions = JSON.JsonHelper.Deserialize<MediaOptions>(options); } catch (Exception) { DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION)); return; } Deployment.Current.Dispatcher.BeginInvoke(() => { try { if (!Media.players.ContainsKey(mediaOptions.Id)) { AudioPlayer audio = new AudioPlayer(this, mediaOptions.Id); Media.players.Add(mediaOptions.Id, audio); audio.startRecording(mediaOptions.Src); } DispatchCommandResult(new PluginResult(PluginResult.Status.OK)); } catch (Exception e) { DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, e.Message)); } }); } catch (Exception e) { DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, e.Message)); } }