コード例 #1
0
        private static byte[] ConvertirAFormatos(byte[] audio, CalidadDeAudio calidad)
        {
            ProcessStartInfo psi = new ProcessStartInfo("/usr/bin/ffmpeg")
            {
                UseShellExecute = false
            };

            switch (calidad)
            {
            case CalidadDeAudio._128:
                psi.Arguments = "-i /app/Temp/recibido -codec:a libmp3lame -b:a 128k /app/Temp/128.mp3";
                break;

            case CalidadDeAudio._256:
                psi.Arguments = "-i /app/Temp/recibido -codec:a libmp3lame -b:a 256k /app/Temp/256.mp3";
                break;

            case CalidadDeAudio._320:
                psi.Arguments = "-i /app/Temp/recibido -codec:a libmp3lame -b:a 320k /app/Temp/320.mp3";
                break;
            }
            Process p = Process.Start(psi);

            p.WaitForExit();
            int ec = p.ExitCode;

            byte[] resultado = null;
            switch (calidad)
            {
            case CalidadDeAudio._128:
                if (File.Exists("/app/Temp/128.mp3"))
                {
                    resultado = File.ReadAllBytes("/app/Temp/128.mp3");
                }
                break;

            case CalidadDeAudio._256:
                if (File.Exists("/app/Temp/256.mp3"))
                {
                    resultado = File.ReadAllBytes("/app/Temp/256.mp3");
                }
                break;

            case CalidadDeAudio._320:
                if (File.Exists("/app/Temp/320.mp3"))
                {
                    resultado = File.ReadAllBytes("/app/Temp/320.mp3");
                }
                break;
            }

            return(resultado);
        }
コード例 #2
0
        public async Task <byte[]> CargarAudioDeCancionPorId(int idCancion)
        {
            //CalidadDeAudio calidad = (CalidadDeAudio)int.Parse(ConfigurationManager.AppSettings["CalidadDescarga"]);
            CalidadDeAudio calidad = CalidadDeAudio.mp3_320;

            byte[] audioCargado = null;
            var    query        = "tokenDeAcceso=" + TokenDeAcceso + "&idCancion=" + idCancion.ToString() + "&calidad=" + ((int)calidad).ToString();
            HttpResponseMessage respuesta;

            respuesta = await AdministradorDePeticionesHttp.Get("AudioDeCancion?" + query.ToString());

            if (respuesta.IsSuccessStatusCode)
            {
                audioCargado = Servicios.ServicioDeConversionDeJson.ConvertJsonToClass <byte[]>(respuesta.Content.ReadAsStringAsync().Result);
            }

            return(audioCargado);
        }
コード例 #3
0
        public async Task <byte[]> CargarCaratulaDeAlbumPorId(int idAlbum)
        {
            CalidadDeAudio calidad = (CalidadDeAudio)int.Parse(ConfigurationManager.AppSettings["CalidadDescarga"]);

            byte[] caratulaCargada = null;
            var    query           = HttpUtility.ParseQueryString(string.Empty);

            query["tokenDeAcceso"] = TokenDeAcceso;
            query["idAlbum"]       = idAlbum.ToString();
            HttpResponseMessage respuesta;

            respuesta = await AdministradorDePeticionesHttp.Get("CaratulaDeAlbum?" + query.ToString());

            if (respuesta.IsSuccessStatusCode)
            {
                caratulaCargada = Servicios.ServicioDeConversionDeJson.ConvertJsonToClass <byte[]>(respuesta.Content.ReadAsStringAsync().Result);
            }

            return(caratulaCargada);
        }