Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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

Č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 Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:17.8.2013 10:22

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

Nahoru Odpovědět
17.8.2013 10:22
You are the greatest project you will ever work on.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
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
Tvůrce
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 Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger: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
You are the greatest project you will ever work on.
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
Tvůrce
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 Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger: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
You are the greatest project you will ever work on.
Avatar
Kit
Tvůrce
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
Tvůrce
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 Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger: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
You are the greatest project you will ever work on.
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.