IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Filip Macháček:12.8.2017 15:21

Zdravím neví někdo proč mi tento kód vyhazuje chybu: Invalid MP3 File ??
Když se otevře webová stránka začne pomocí javascriptu mluvit a já bych chtěl aby začala mluvit aplikace protože ve webovém prohlížeči to normálně funguje, Neví někdo jak to opravit ?? Předem děkuji

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Web;
using System.Net;
using NAudio.Wave;
using System.Threading;

namespace NefungujeTo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.FormClosing += (sender, e) =>
            {
                if (waiting)
                    stop.Set();
            };
        }

        private void ButtonClick(object sender, EventArgs e)
        {
            var clicked = sender as Button;


            var playThread = new Thread(() => PlayMp3FromUrl("http://89.203.249.20/tts.php?msg=Haha%20Stejn%C4%9B%20to%20nefunguje"));
            playThread.IsBackground = true;
            playThread.Start();
        }

        bool waiting = false;
        AutoResetEvent stop = new AutoResetEvent(false);
        public void PlayMp3FromUrl(string url)
        {
            using (Stream ms = new MemoryStream())
            {
                using (Stream stream = WebRequest.Create(url)
                    .GetResponse().GetResponseStream())
                {
                    byte[] buffer = new byte[32768];
                    int read;
                    while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        ms.Write(buffer, 0, read);
                    }
                }

                ms.Position = 0;
                using (WaveStream blockAlignedStream =
                    new BlockAlignReductionStream(
                        WaveFormatConversionStream.CreatePcmStream(
                            new Mp3FileReader(ms))))
                {
                    using (WaveOut waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
                    {
                        waveOut.Init(blockAlignedStream);
                        waveOut.PlaybackStopped += (sender, e) =>
                        {
                            waveOut.Stop();
                        };

                        waveOut.Play();
                        waiting = true;
                        stop.WaitOne(10000);
                        waiting = false;
                    }
                }
            }
        }
    }
}

Kód webu:

<!DOCTYPE HTML>


<head>
        <meta http-equiv="content-type" content="text/html" />
        <title>TTS</title>
        <script src="http://code.responsivevoice.org/responsivevoice.js"></script>

</head>

<body >

<script>

responsiveVoice.speak("Haha Stejně to nefunguje", "Czech Female");

</script>

</body>
</html>
Editováno 12.8.2017 15:22
 
Odpovědět
12.8.2017 15:21
Avatar
Filip Macháček:12.8.2017 15:24

Chyba z VS

 
Nahoru Odpovědět
12.8.2017 15:24
Avatar
zelvicek
Člen
Avatar
zelvicek:12.8.2017 21:30

Předpoklládám, že sis to trošku odkrokoval.

  1. kolik bytů jsi stáhnul do streamu "ms" ?
  2. když ty byty uložíš do souboru, dokáže je přehrát běžný MP3 přehrávač?
 
Nahoru Odpovědět
12.8.2017 21:30
Avatar
Filip Macháček:12.8.2017 23:30

Tento kód není můj byl použit z návodu na získání tts ale to už nefunguje tak jsem tam zadal svou adresu

 
Nahoru Odpovědět
12.8.2017 23:30
Avatar
VitekST
Člen
Avatar
Odpovídá na Filip Macháček
VitekST:16.8.2017 19:52

Tak proč se do celého tohoto řešení neponoříš a nezkusíš přijít na příčinu? S trochou uvažování a intuice to totiž jde.

Je ti vyhazována výjimka s popisem "Invalid MP3 file - no MP3 Frames detected", přeloženo "Neplatný MP3 soubor - žádné MP3 rámce nebyly detekovány", z čehož vyplývá základní dotaz "Cpu já tam vůbec MP3 data, jestli vůbec nějaká?".

Co ti brání v tom si pustit debugger, prozkoumat si veškeré objekty a na tuto otázku odpovědět? Můžeš si o něm něco počíst zde: https://msdn.microsoft.com/…0k771bt.aspx

Editováno 16.8.2017 19:53
 
Nahoru Odpovědět
16.8.2017 19:52
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.