Skocz do zawartości
scarecrane

Problem ze zrozumieniem kodu

    Rekomendowane odpowiedzi

    Cześć wszystkim.

     

    Jestem nowy na forum, założyłem konto już jakiś czas temu, jednak dopiero teraz zdecydowałem się napisać. Sprawa wygląda tak, że uczę się programować aplikacje na androida, korzystam z kilku kursów równocześnie, przeskakując co jakiś czas z jednego na drugi. Obecnie uczę się z książki : "Learning java by building Android games". To świetna książka, bardzo polecam, jednak mam pewien problem. 

    W rozdziale, który obecnie przerabiam mam za zadanie napisać  prostą aplikację, która będzie odtwarzała konkretny dżwięk po naciśnięciu jednego z trzech przycisków. Wszystko działa, jednak problem polega na tym, że nie rozumiem pewnej rzeczy znajdującej się w kodzie.

     

    Mój kod wygląda tak:

     

    public class MainActivity extends AppCompatActivity implements View.
            OnClickListener {
        private SoundPool soundPool;
        int blip_select = -1;
        int pickup_coin = -1;
        int wrong = -1;
    
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC,0);
            try{
    //Create objects of the 2 required classes
                AssetManager assetManager = getAssets();
                AssetFileDescriptor descriptor;
    //create our three fx in memory ready for use
                descriptor = assetManager.openFd("blip_select.ogg");
                blip_select = soundPool.load(descriptor, 0);
                descriptor = assetManager.openFd("pickup_coin.ogg");
                pickup_coin = soundPool.load(descriptor, 0);
                descriptor = assetManager.openFd("wrong.ogg");
                wrong = soundPool.load(descriptor, 0);
            }
            catch(IOException e){}
            //Make a button from each of the buttons in our layout
            Button button1 =(Button) findViewById(R.id.button);
            Button button2 =(Button) findViewById(R.id.button2);
            Button button3 =(Button) findViewById(R.id.button3);
    //Make each of them listen for clicks
            button1.setOnClickListener(this);
            button2.setOnClickListener(this);
            button3.setOnClickListener(this);
    //catch exceptions here
    
        }
    
        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.button://when the first button is pressed
    //Play sample 1
                    soundPool.play(blip_select, 1, 1, 0, 0, 1);
                    break;
    //Now the other buttons
                case R.id.button2:
                    soundPool.play(pickup_coin, 1, 1, 0, 0, 1);
                    break;
                case R.id.button3:
                    soundPool.play(wrong, 1, 1, 0, 0, 1);
                    break;
            }
    
        }
    }
    

     

    Nie rozumiem tutaj dla czego np: "int blip_select = -1" Czemu akurat taka liczba, skąd to się wzięło itd. Z góry dziękuję za każdą odpowiedź.

     

     

     

    Edytowane przez scarecrane

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    senega

    Jest to wartość (w tym przypadku) oznaczająca błąd przy pobraniu wskazania na plik muzyczny. 

    Więcej informacji możesz poczytać tutaj

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x