Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-11-2005, 11:46   #1
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
BUG AUDIO !!! Forse più dii uno...

Provate questo codice:
Codice:
package it.diamonds;

import it.diamonds.engine.audio.*;


public class ProvaSound
{

    public static void SleepOneSecond()
    {
        try
        {
            Thread.sleep(1000);
        }
        catch(InterruptedException e)
        {
            /* Nothing to do here */
        }
    }
   
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        Audio audio = new Audio();
        
        Sound sound1 = new Sound("diamond");
        Sound sound2 = new Sound("diamond");
        Sound sound3 = new Sound("diamond");
        
        sound1.play();
        
        SleepOneSecond();
        
        sound2.play();

        SleepOneSecond();
        
        sound3.play();

        SleepOneSecond();
        
        sound2.play();

        SleepOneSecond();
        
        sound1.play();

        SleepOneSecond();
        
    }
Cosa notate ? A me sound3 viene riprodotto più forte degli altri... Se aggiungete un altro Sound, l'ultimo viene sempre riprodotto più forte !!!

Un altro bug... In pratica se il suono viene riprodotto una prima volta, la seconda non viene riprodotto...
In particolare mi riferisco al suono della gemma che tocca il fondo...
Codice:
    public void play()
    {
        if(!testing)
        {
            AL10.alSourcePlay(source);
        }
        wasPlayed = true;
    }
Il programma arriva ad eseguire correttamente questa funzione, ma AL10.alSourcePlay(source) non produce alcun suono (il suono è stato istanziato in GemFactory sia per la prima che per la seconda gemma)...
Potete vederlo facilmente facendo arrivare in fondo (in colonne diverse) due gemme...
Allegati
File Type: txt ProvaSound.txt (939 Bytes, 3 visite)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 12:44   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ehm...
a me capita che se faccio cadere la gemma la prima non produce il suono mentre la seconda si....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 12:52   #3
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Hmmm... e' un problema della libreria?
O piu' facilmente stiamo facendo noi qualcosa di sbagliato?

Nell'ordine inverso: prima assicuriamoci di pilotare la libreria in maniera corretta e poi, quando siamo sicuri che il problema non e' nostro, ricontrolliamo che stiamo pilotando la libreria in maniera corretta.

E poi, concludiamo che il problema e' loro.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 14:07   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ^TiGeRShArK^
ehm...
a me capita che se faccio cadere la gemma la prima non produce il suono mentre la seconda si....
Puoi testare il codice sopra ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 14:12   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ho risolto il problema, ma non ho capito il perchè si presentava...
Modificando GemFactory da così:
Codice:
package it.diamonds;

import it.diamonds.engine.audio.Sound;

public class GemFactory
{
    public GemFactory()
    {

    }
    
    public Gem create()
    {
        Gem gem = new Gem("diamond");
        gem.setCollisionSound(new Sound("diamond"));
        return gem;
    }
}
a così:
Codice:
package it.diamonds;

import it.diamonds.engine.audio.Sound;

public class GemFactory
{
    Sound sound;

    public GemFactory()
    {
        sound = new Sound("diamond");
    }
    
    public Gem create()
    {
        Gem gem = new Gem("diamond");
        gem.setCollisionSound(sound);
        return gem;
    }
}
il bug nel gioco è sparito...
Comuqnue il problema di fondo rimane... Come mai la prima soluzione non funzionava ?

Ultima modifica di cionci : 17-11-2005 alle 14:17.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 14:28   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sono riuscito a riprodurre il problema (ovvviamente con la prima versione di GemFactory):
Codice:
   public static void main(String[] args)
    {
        Audio audio = new Audio();
        
        GemFactory gemFactory = new GemFactory();
        
        Gem gem = gemFactory.create();       
        gem.drop();
        
        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
    }
Ho fatto il commit di GemFactory corretta per eliminare il problema, conviene riportarla alla versione con il problema ? Che dite ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 14:40   #7
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
C:\cruisecontrol-2.3.0.1\work\checkout\diamonds\trunk\src\it\diamonds\GemFactory.java:7:11: Variable 'sound' must be private and have accessor methods.

Lanciate lo script di build sempre e comunque prima del commit.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 14:59   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Hai ragione
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:16   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
E che kaiser... Devo riportare il tutto alla prima versione... Altrimenti nella copia di GemFactory all'interno di GemFactoryForTesting si cerca di allocare un Sound e di conseguenza non essendo l'audio inizializzato falliscono praticaemnte tutti i test...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:19   #10
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
E che kaiser... Devo riportare il tutto alla prima versione... Altrimenti nella copia di GemFactory all'interno di GemFactoryForTesting si cerca di allocare un Sound e di conseguenza non essendo l'audio inizializzato falliscono praticaemnte tutti i test...
Scrivi del codice per creare Sound di testing all'interno di GemFactoryForTesting.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:20   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ho fatto così, altrimenti la copia di GemFactory in GemFactoryForTesting inizializzava un sound e creava un'eccezione...ovviamente è passibile di refactoring...
Codice:
package it.diamonds;

import it.diamonds.engine.audio.Sound;

public class GemFactory
{    
    private Sound sound = null;
    
    public GemFactory()
    {

    }
    
    public Gem create()
    {
        if(sound == null)
        {
            sound = new Sound("diamond");            
        }
        
        Gem gem = new Gem("diamond");
        gem.setCollisionSound(sound);
        
        return gem;
    }
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:21   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fek
Scrivi del codice per creare Sound di testing all'interno di GemFactoryForTesting.
Non risolverei perchè comunque viene chiamato prima il costruttore della superclasse...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:26   #13
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ho fatto così, altrimenti la copia di GemFactory in GemFactoryForTesting inizializzava un sound e creava un'eccezione...ovviamente è passibile di refactoring...
In che senso "la copia di GemFactory in GemFactoryForTesting"?

Puoi postare il codice di GemFactoryForTesting?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:27   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Codice:
package it.diamonds;

public class GemFactoryForTesting extends GemFactory
{
    public GemFactoryForTesting()
    {
        
    }
    
    public Gem create()
    {
        return Gem.createForTesting();
    }
}
La "copia" nel senso che essendo GemFactory la classe base, viene comunque richiamato il costruttore di GemFactory per ogni nuova istanza di GemFactoryForTesting...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 17:08   #15
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Codice:
package it.diamonds;

public class GemFactoryForTesting extends GemFactory
{
    public GemFactoryForTesting()
    {
        
    }
    
    public Gem create()
    {
        return Gem.createForTesting();
    }
}
La "copia" nel senso che essendo GemFactory la classe base, viene comunque richiamato il costruttore di GemFactory per ogni nuova istanza di GemFactoryForTesting...
Malissimo. Vedi che succede se non lavori con le interfacce e fai ereditarieta' per condividere il codice?
Eredita strettamente sempre e solo per modellare relazioni "is a" che soddisfano il principio di sostituzione.

GemFactory dev'essere solo un'interfaccia, con due implementazioni:
- GameGemFactory
- GemFactoryForTesting

E non c'e' bisogno di alcun hack, perche' il tuo problema sparisce da solo.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 18:15   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ehm...io te lo avevo chiesto su MSN se dovevo fare l'interfaccia... Probabilmente ho capito male quello che mi hai detto
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 18:39   #17
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
Comunque è necessario fare anche un discorso relativo all'hardware. Cioè, così come per l'OpenGL, anche la scheda audio del PC deve supportare OpenAL e a dire la verità al riguardo non sono molto esperto. In ogni caso, prima di parlare di bug della libreria (decisamente improbabile visto che OpenAL è usato in Quake 4, UT2004 ed in innumerevoli titoli), sarebbe il caso di verificare il funzionamento di OpenAL con il codice dei tutorial che, teoricamente, dovrebbe essere corretto.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 18:40   #18
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ehm...io te lo avevo chiesto su MSN se dovevo fare l'interfaccia... Probabilmente ho capito male quello che mi hai detto
Hai ragione tu, non ero stato chiaro io in MSN
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 18:44   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Vifani
Comunque è necessario fare anche un discorso relativo all'hardware. Cioè, così come per l'OpenGL, anche la scheda audio del PC deve supportare OpenAL e a dire la verità al riguardo non sono molto esperto. In ogni caso, prima di parlare di bug della libreria (decisamente improbabile visto che OpenAL è usato in Quake 4, UT2004 ed in innumerevoli titoli), sarebbe il caso di verificare il funzionamento di OpenAL con il codice dei tutorial che, teoricamente, dovrebbe essere corretto.
Per ora mi basterebbe che qualcuno testasse il mio codice, magari con una scheda audio decente (io ho una ALC850 integrata)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 18:45   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora si fa così... Per ora lascio il codice con il bug (aggiorno comunque aggiungendo l'interfaccia)...così almeno tutti lo possono testare...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
Spazzolini elettrici Oral-B iO in super ...
Samsung Galaxy Watch8 Classic e Watch7 a...
Blue Origin prosegue lo sviluppo di Blue...
Roborock Saros 10 e 10R dominano il merc...
Apple scatenata su Amazon: tutti gli sco...
Canon EOS C50 è la nuova videocam...
ASUS ProArt P16 arriva in Italia: la wor...
Fujifilm presenta l'obiettivo FUJINON GF...
Il grafene ha appena 'infranto' una legg...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v