Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
BF summer
Avatar

Člen
Avatar
:17.8.2013 10:18

Potřeboval bych pomoct s jedním programem. Používám tuto metodu pro přehrávání zvuku:

void Prehraj() {
        try {
                Clip clip = AudioSystem.getClip();
                AudioInputStream inputStream = AudioSystem.getAudioInputStream(Hudba.class.getResourceAsStream("/cz/resources/medievalMusic1.wav"));
                clip.open(inputStream);
                clip.start();
                clip.setLoopPoints(0, 1);
        } catch (Exception e) {
                System.err.println(e.getMessage());
        }
}

Všechno krásně funguje, i přes debug/run v Eclipse. Ovšem jakmile to exportuji, tak program sice funguje, ovšem zvuk se neozývá. V čem tkví problém?

 
Odpovědět
17.8.2013 10:18
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na
David Čápka:17.8.2013 10:22

Asi nemáš ten zvuk ve složce s JARem.

Nahoru Odpovědět
17.8.2013 10:22
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:17.8.2013 10:24

... nebo v JARu.

Nahoru Odpovědět
17.8.2013 10:24
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Samuel Kodytek
Super redaktor
Avatar
Samuel Kodytek:17.8.2013 10:25

... Skontroluj taky velky a maly pismena

Nahoru Odpovědět
17.8.2013 10:25
There is more than one way to screw it
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na
David Čápka:17.8.2013 10:25

Teď koukám že to bereš ze streamu. Měl jsem ve SWINGu problém s třídou AudioSystem a MidiSystem, nahradil jsem to Applet.getAudioClip nebo tak nějak, je tu na to tutoriál.

Nahoru Odpovědět
17.8.2013 10:25
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar

Člen
Avatar
:17.8.2013 10:48

Pořád ale nechápu, proč to funguje, když to debuguju/spouštím a nefunguje po exportu. A ve složce to mám. Mám to v balíčku.

Editováno 17.8.2013 10:51
 
Nahoru Odpovědět
17.8.2013 10:48
Avatar
Kit
Redaktor
Avatar
Odpovídá na
Kit:17.8.2013 10:55

Protože po exportu máš jinak nastavené cesty. Nebo jsi ty zvuky prostě neexportoval.

Nahoru Odpovědět
17.8.2013 10:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar

Člen
Avatar
:17.8.2013 11:00

Používám tam např. obrázky a ty mi fungují i po exportu.

 
Nahoru Odpovědět
17.8.2013 11:00
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na
David Čápka:17.8.2013 11:02

Ono je hlavně divné že program funguje, možná tam máš jen nějaký vygenerovaný catch o kterém ani nevíš, dej si tam nějaký MessageBox nebo něco, co uvidíš když ta chyba nastane.

Nahoru Odpovědět
17.8.2013 11:02
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Kit
Redaktor
Avatar
Odpovídá na
Kit:17.8.2013 11:02

Ty obrázky také mají cestu /cz/resources/?

Nahoru Odpovědět
17.8.2013 11:02
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar

Člen
Avatar
:17.8.2013 11:04

Ty obrázky mají cestu /cz/graphic/, ale mohu ten zvuk dát k nim a vyzkoušet to.

 
Nahoru Odpovědět
17.8.2013 11:04
Avatar
Kit
Redaktor
Avatar
Odpovídá na
Kit:17.8.2013 11:05

Ještě mě napadla velikost písmen. To, co snese souborový systém Windows, nesnese JAR.

Nahoru Odpovědět
17.8.2013 11:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Homo
Člen
Avatar
Odpovídá na
Homo:17.8.2013 11:06

V jave ze zahadneho duvodu blbne getResourceAs­Stream

AudioInputStream inputStream = AudioSystem.getAudioInputStream(Hudba.class.getResourceAsStream("/cz/resources/medievalMusic1.wav"));

Tohle prepis na

AudioInputStream inputStream = AudioSystem.getAudioInputStream(Hudba.class.getResource("/cz/resources/medievalMusic1.wav"));

Pak by to melo fungovat.

Nahoru Odpovědět
17.8.2013 11:06
1010011 1000101 1011000
Avatar

Člen
Avatar
:17.8.2013 11:12

Dal jsem si:

JOptionPane.showMessageDialog(o, e.getMessage());

Při debugu/run v pohodě, ale po exportování a při následném spuštění se zobrazil MessageBox s: "mark/reset not supported"

 
Nahoru Odpovědět
17.8.2013 11:12
Avatar

Člen
Avatar
:17.8.2013 11:14

Fugiczek na to přišel, moc děkuji.
(místo getResourceAs­Stream, getResource)

 
Nahoru Odpovědět
17.8.2013 11:14
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na
David Čápka:17.8.2013 11:15

No a jsme doma, použij buffer, řeší se to zde: http://stackoverflow.com/…ot-supported :P

Nahoru Odpovědět
17.8.2013 11:15
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar

Člen
Avatar
:17.8.2013 11:19

Děkuji všem za pomoc.

 
Nahoru Odpovědět
17.8.2013 11:19
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 17 zpráv z 17.