přehráváni zvuku   zodpovězená otázka

VB.NET

ahoj mám malej problémek pro otestování programu jsem nahrál abecedu a ke každému písmenu přičřadil písmeno z abecedy ale nastal problém...ve chvilku kdy má program přečíst všechna napsaná písmena za sebou ale on přečte jen poslední a navíc kdyš chci spustit program jako exe ze slozky debug tak se spustí ale jakmile má cokoli udělat vyhodí chybu

víte někdo kde je chyba?

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
Dim slovo As String 

slovo = TextBox1.Text 
For I As Integer = 1 To Len(slovo) 
Select Case LCase(Mid(slovo, I, 1)) 
Case "a" 
AxWindowsMediaPlayer1.URL = "c:\hlas\a.wma" 

Case "z" 
AxWindowsMediaPlayer1.URL = "c:\hlas\z.wma" 
Case " " 
AxWindowsMediaPlayer1.URL = "c:\hlas\mezera.wma" 
Case Else 
MsgBox("Tento znak '" & LCase(Mid(slovo, I, 1)) & "' neznám") 
End Select 
Next I 
End Sub 

End Class 


moc se omlouvám že otravuju ale nic mě nenapadá

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přečte se jen poslední, protože nečekáte, až jednotlivá písmena dořekne.

Necpěte je všechna najednou, musíce chytat událost při dokončení přehrávání.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ajo ja sem ale blb něco podobného jsme tušim dělali v jednom z dílu o základech VB ne? jen si nevspomenu kde ale děkuji za radu

nahlásit spamnahlásit spam 0 odpovědětodpovědět

tak jsem na to nepřišel zkusil jsem použít "unload()" ale nefungovalo pak mi došlo že je to myslim pro VB6 pokud se nepletu zná někdo jak se to dá udělat v VB 2005 nebo odkaz kde se o tom píše? na tomto webu jsem to nenašel

děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Možnože by pomohlo toto, akurát, že je to formát vaw.

My.Computer.Audio.Play("a.wav", AudioPlayMode.WaitToComplete)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

uz mi to jde udelal jsem to pomoci

While Not AxWindowsMediaPlayer1.status = "Zastaveno"
                Application.DoEvents()

ale prosim o jinou radu program to sice přehraje ale dělá mezery a já bych je mezi stopama potřeboval zrušit nebo aspon minimalizovat pokud existuje třeba kod na jakési navazování stop na sebe nebo zrychlené přehrávání

byl bych vděčný děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

S tím bude asi problém. Jednak máš určitě mezery v tom zvuku mezi těmi písmeny a druhak chvíli trvá, než se ten soubor načte a začne přehrávat. Jediné, co mě napadá, je mít ty komponenty dvě, zjistit si délky tech písmen a pak vhodně přehrát lichá písmena na jedné komponentě a sudá na druhé. Kdyby se to dobře načasovalo, mezery by tam nebyly. Ale je to už dost složité.

Navíc, ani tento výsledek po písmenech nebude znít přirozeně. Když se syntéza řeči dělá ve skutečnosti, musí se namluvit všechny slabiky a ty se pak spojují daleko lépe. Většinou to také mluví nějaký hlasatel z rádia nebo z televize, který umí vyslovovat lépe než běžný člověk. Jenže těch slabik je strašně moc a ještě se to dělá tak, že ten hlasatel neříká ty slabiky zvlášť, ale čte nějaká slova, která ty slabiky obsahují. No a pak se to vystříhá a poslepuje.

Takže spíš než vlastní aplikaci bych neváhal vyzkoušet tuhle službu - http://epos.ure.cas.cz/cgi-bin/saye.cgi?... .

Jinak určitě by se dalo napsat, že ten text, který chceš říct, bs poslal této službě a přehrál to, co z ní vypadně, zpátky ta služba totiž pošle WAV.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

děkuji vám za odpověd ktera je pro mne nanejvíš zajímavá ovšem zaujala mě myšlenka a nevim jestli je to možné nebo jestli jste něco podobného nemyslel ale napadlo mě jestli by se nedal udělat jakýsi zásobník do kterého by se načetla ta data v mém případě písmena (mimochodem má to jen číst písmena nejde o to aby to znělo jako sintéza ty písmena mají být potom zpřeházená jako šifra a další je že písmena jsou přesně oříznuta právě sem se bál toho co to dělá a myslel jsem si že to tím zručim nebo minimalizuju) ty písmena by se načetla a pak přehrálá bez mezer za sebou ale ten váš nápad opravdu zní složitě ale já ho asi moc nepochopil

ps:nechcete o práci se zbukem napsat časem článek? přijde mi to jako zajímavé téma

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Poprosil bych vás, abyste si po sobě svoje příspěvky četl, než je odešlete. Oddělujte alespoň věty od sebe, tohleto se strašně špatně čte. Na příspěvky, které se nedají číst, již dál odpovídat nebudu. Upozorňovalo vás na to již víc lidí.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Uvědomte si, že často trávíme relativně velké množství času nad tím, abychom odpověděli na dotazy. To nejmenší co pro nás můžete udělat na oplátku je registrace a dodržování alespoň základních gramatických pravidel. Neříkám, že někomu nemůže utéct čárka, ale rádi bychom zde měli slušnou diskuzi. Prostě když 5 minut louskáme co chtěl vůbec autor příspěvkem říct, tak to nepůsobí moc dobře a nemůžete čekat tak kvalitní odpověď jako při slušně formulované otázce.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Prosím mohl by jste mi někdo poradit?Nevím jak udělat 2 pole,do kterých bych zapisoval "sudá a lichá písmena".Přesněji nevím jak do pole rozdělit ta písmena.Vytvořil jsem si 2 komponenty Windows Media Player,a do každé bych chtěl odeslat jeden zvuk(zvuky by se měly přehrát střídavě),ale ona se přehraje první zvuková stopa,potom 2 současně a potom poslední.Jde tomu nějak zabránit? Třeba nějaké spoždění,které počká a pak přehraje tu druhou stopu v druhém Playeru?Slova jsou psána do textboxu a já nevím jak je rozdělit,první sudé se přehraje v Media Playeru 1,druhé ve WMP 2 atd..

Jde vlastně programu říci,že má přehrávat současně na dvou komponentách Playeru a to na druhém s určitým spožděním?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback