public async Task <JsonResult> RecognizeAudioFile([FromBody] AudioFileViewModel audioFileViewModel) { try { bool operationStatus = false; YoutubeLogic YLogic = new YoutubeLogic(); ArtistViewModel artistViewModel = await YLogic.RecognizeAudioFile(audioFileViewModel); var result = ""; if (artistViewModel == null || string.IsNullOrWhiteSpace(artistViewModel.artist)) { result = "Sorry, No artist match your video!!"; } else { result = await _viewRenderService.RenderToStringAsync("_ArtistResult", artistViewModel); operationStatus = true; } return(Json(new { status = operationStatus, artistViewModel = artistViewModel, partialViewData = Content(result) })); } catch (Exception ex) { log.Error(ex.Message); return(Json(new { status = false, message = ex.Message })); } }
public async Task <ArtistViewModel> RecognizeAudioFile(AudioFileViewModel audioFileViewModel) { RecognizeLogic recognizeLogic = new RecognizeLogic(); ArtistViewModel artistViewModel = recognizeLogic.GetArtist(audioFileViewModel.filePath); return(artistViewModel); }
internal FileViewModelBase OpenFile(string filePath) { var fileViewModel = _files.FirstOrDefault(fm => fm.FilePath == filePath); if (fileViewModel != null) { return(fileViewModel); } string extension = Path.GetExtension(filePath).ToLower(); switch (extension) { case ".ogg": case ".rpgmvo": case ".ogg_": case ".m4a": case ".rpgmvm": case ".m4a_": case ".wav": case ".rpgmvw": case ".wav_": fileViewModel = new AudioFileViewModel(filePath); _files.Add(fileViewModel); break; case ".png": case ".rpgmvp": case ".png_": fileViewModel = new ImageFileViewModel(filePath); _files.Add(fileViewModel); break; case ".json": fileViewModel = new JsonFileViewModel(filePath); _files.Add(fileViewModel); break; case ".rpgsave": fileViewModel = new SaveFileViewModel(filePath); _files.Add(fileViewModel); break; case ".script": fileViewModel = new ScriptFileViewModel(filePath); _files.Add(fileViewModel); break; default: fileViewModel = new GeneralFileViewModel(filePath); _files.Add(fileViewModel); break; } return(fileViewModel); }
public AudioFileViewModel SplitAudioFile(AudioFileViewModel audioFileViewModel) { AudioLogic audioLogic = new AudioLogic(); string newSplitedFileName = audioFileViewModel.fileName.Replace("." + audioFileViewModel.ext, "_20sec.mp3"); string newSplitedFilePath = audioFileViewModel.filePath.Replace("." + audioFileViewModel.ext, "_20sec.mp3"); int cutAudioInterval = int.Parse(CutInterval); audioLogic.TrimWavFile(audioFileViewModel.filePath, audioFileViewModel.ext, newSplitedFilePath, "mp3", 0, cutAudioInterval); return(new AudioFileViewModel() { ext = "mp3", fileName = newSplitedFileName, filePath = newSplitedFilePath }); }
public async Task <ActionResult> SplitAudioFile([FromBody] AudioFileViewModel audioFileViewModel) { try { YoutubeLogic YLogic = new YoutubeLogic(); AudioFileViewModel splitAudioFileViewModel = YLogic.SplitAudioFile(audioFileViewModel); splitAudioFileViewModel.fileWebsitePath = Request.Scheme + "://" + Request.Host + Request.PathBase + "/Downloads/Audio/" + splitAudioFileViewModel.fileName; var result = await _viewRenderService.RenderToStringAsync("_AudioResult", splitAudioFileViewModel); return(Json(new { status = true, audioFileViewModel = splitAudioFileViewModel, partialViewData = Content(result) })); } catch (Exception ex) { log.Error(ex.Message); return(Json(new { status = false, message = ex.Message })); } }