Získej svůj iPhone v nové soutěži! Získej svůj iPhone v nové soutěži!
Nová překladatelská soutěž ITnetwork.cz o telefon iPhone, sluchátka Beats a další věcné ceny za 4 hodiny práce.
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Získání zvuku webové stránky

C# .NET .NET (C# a Visual Basic) Získání zvuku webové stránky American English version English version

Aktivity (3)
Avatar
Filip Macháček:12. srpna 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. srpna 15:22
 
Odpovědět 12. srpna 15:21
Avatar
Filip Macháček:12. srpna 15:24

Chyba z VS

 
Nahoru Odpovědět 12. srpna 15:24
Avatar
zelvicek
Člen
Avatar
zelvicek:12. srpna 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  +1 12. srpna 21:30
Avatar
Filip Macháček:12. srpna 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. srpna 23:30
Avatar
VitekST
Člen
Avatar
Odpovídá na Filip Macháček
VitekST:16. srpna 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. srpna 19:53
 
Nahoru Odpovědět  +1 16. srpna 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.