Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
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: 12113
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


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Usano Claude per hackerare OpenAI: ricer...
RatHat: il nuovo malware Android usa il ...
Domanda di petrolio in calo di 2,5 milio...
Il meglio delle offerte weekend Amazon a...
Dopo oltre 100 anni di tentativi, l'IA d...
Speciale robot aspirapolvere in offerta ...
L'IA sta cancellando i lavori junior? Il...
Debutta Chery Italia: non più sol...
Addio ai dischi? Xbox ci aveva già...
Speciale TV Amazon: 4 modelli, da 139€ f...
Il nuovo iPhone 18 Pro Max ha una ricari...
Speciale smartphone Android: 7 modelli i...
La Camera USA presenta il conto: i data ...
Non solo EV, ma anche IA: Panasonic inau...
iPhone Duo, il debutto del pieghevole di...
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: 10:51.


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