示例#1
0
        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);
        }
示例#3
0
        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
            });
        }
示例#5
0
        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 }));
            }
        }