Italian java.lang.IllegalArgumentException: width and height must be > 0

fifiddu70

Well-Known Member
Licensed User
Longtime User
Allora, usando il client MPEG succede questo: se la telecamera è accesa e l'app sta lavorando allora tutto ok, appena la telecamera si spegne l'immagine sull'app non c'è più ma non crasha come nel mio progetto ma non appena riaccendo la telecamera allora crasha e da questo errore principale oltre a tanti altri : mjpeg_sock_connected (java line: 321) quindi non va bene perchè può succedere che per qualche secondo il segnale internet può mancare e se succede questa va in crash appena il segnale ritorna, come ci si può uscire da questo problema?
 

Star-Dust

Expert
Licensed User
Longtime User
Premesso che a me funziona correttamente anche con 500ms.
Comunque dovresti aumentare troppo la frequenza, queste webcam non sono progettate per un flusso di dati continuo. Forse ancora non ha terminato il download del frame precedente e quindi il socket è aperto (dispositivo lento?).

Se si collegassero in tanti le manderebbero in tilt con un refresh così alto. Sono create per mandare un fotogramma ogni tot minuti.
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Allora, usando il client MPEG succede questo: se la telecamera è accesa e l'app sta lavorando allora tutto ok, appena la telecamera si spegne l'immagine sull'app non c'è più ma non crasha come nel mio progetto ma non appena riaccendo la telecamera allora crasha e da questo errore principale oltre a tanti altri : mjpeg_sock_connected (java line: 321) quindi non va bene perchè può succedere che per qualche secondo il segnale internet può mancare e se succede questa va in crash appena il segnale ritorna, come ci si può uscire da questo problema?
Certo ma devi lavorarci tu.
Già ti ho dato il sorgente che si collega e ti fa vedere l'immagine per il resto lavoraci e troverai la soluzione.
Se non c'è flusso disconnetti il socket.
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Certo ma devi lavorarci tu.
Già ti ho dato il sorgente che si collega e ti fa vedere l'immagine per il resto lavoraci e troverai la soluzione.
Se non c'è flusso disconnetti il socket.
Stasera al rientro ci smanetto un poco, sono convinto di trovare una soluzione, casomai ti faccio sapere.
 

Star-Dust

Expert
Licensed User
Longtime User
Comunque a me funziona anche a 500ms. Avrai un dispositivo lento che non riesce a fare il download dell'immagine in tempo per il successivo refresh
Con il mio esempio non crasha quando manca la connessione, quindi hai qualche problema nel codice.

Come ti ho scritto prima il codice che hai postato è contorto e non efficiente. usa l'evento Spinner1_ItemClick ed elimina i timer.

Se hai domande apri altri post sulla domanda specifica non scrivere tutto qui.
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Star Dust devi provare quando staccando il segnale della telecamera e poi riprendendolo se non ti crash, a me crasha solo appena ritorna il segnale.
 

Star-Dust

Expert
Licensed User
Longtime User
Quando stacca il segnale mi solleva l'evento AStream_Error il che significa che la connessione è interrotta e in automatico mi chiude il socket e connessione. Quando torna il segnale la connessione è interrotta e il socket e non va in errore.

Nella tua App come ti sto ripetendo piu volte, togli i timer che ti creano il problema, è un problema del tuo codice. Sicuramente con il timer va a interrogare un socket che è chiuso perché ha registrato l'interruzione del flusso. Il mio esempio se tolgo internet per 30 secondi e lo rimetto non accade nessun crash.

Poi fai un pò tu, se vuoi per forza percorrere questa strada contorta.
 
Last edited:

fifiddu70

Well-Known Member
Licensed User
Longtime User
Quando stacca il segnale mi solleva l'evento AStream_Error il che significa che la connessione è interrotta e in automatico mi chiude il socket e connessione. Quando torna il segnale la connessione è interrotta e il socket e non va in errore.

Nella tua App come ti sto ripetendo piu volte, togli i timer che ti creano il problema, è un problema del tuo codice. Sicuramente con il timer va a interrogare un socket che è chiuso perché ha registrato l'interruzione del flusso. Il mio esempio se tolgo internet per 30 secondi e lo rimetto non accade nessun crash.

Poi fai un pò tu, se vuoi per forza percorrere questa strada contorta.
Perdonami, non stavo utilizzando il mio progetto ma bensì il clinet MPEG dove all'interno avevo inserito il timer per effettuare il refresh dell'immagine ogni 800ms, adesso la domanda per te, se tolgo il timer come faccio a far muovere le immagini essendo un immagine fotografica? ho l'esigenza di vedere le immagini aggiornate almeno 1 volta al secondo per dare la sensazione di un video a scatti.
 

Star-Dust

Expert
Licensed User
Longtime User
Vedi l'esempio che ti ho inviato, trovi il modo inncuinio ho fatto il refresh
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Quando stacca il segnale mi solleva l'evento AStream_Error il che significa che la connessione è interrotta e in automatico mi chiude il socket e connessione. Quando torna il segnale la connessione è interrotta e il socket e non va in errore.

Nella tua App come ti sto ripetendo piu volte, togli i timer che ti creano il problema, è un problema del tuo codice. Sicuramente con il timer va a interrogare un socket che è chiuso perché ha registrato l'interruzione del flusso. Il mio esempio se tolgo internet per 30 secondi e lo rimetto non accade nessun crash.

Poi fai un pò tu, se vuoi per forza percorrere questa strada contorta.
Sto smanettando, ma riflettevo al fatto che dicevi tu senza usare il timer a te anche dopo 30 secondi di segnale assente non va in crash, normale io direi perchè quando lanci l'app l'immagine acquisisce la prima foto e resta ferma li, io invece ho la necessita di far muovere l'immagine come se fosse in tempo reale, mi va bene a scatti di 1 secondo anche, ma questo come può essere possibile senza un timer?
 

Star-Dust

Expert
Licensed User
Longtime User
Ti ho gia risposto a questa domanda.
E ti ho scritto che il mio esempio aggiorna l'immagine come se fosse in tempo reale, ovvero non resta ferma li ma si va aggiornando.

Comunque siccome questa è un altra domanda, apri un post specifico se non riesci a capire come funziona il sorgente o come puoi fare un refresh senza timer, magari qualcun altro riesce a spiegarti la cosa in maniera più chiara di quanto abbia fatto io.
 
Top