Android studio jak přehrát správný zvuk
Zdravím
Mám udělanou takovou aplikaci podle tohoto návodu https://www.youtube.com/watch?v=C_Ka7cKwXW0&ab_channel=CodinginFlow která zjistí jestli jsem online nebo ne podle toho vypíše
Toast.makeText(context.getApplicationContext(),"Internet no",Toast.LENGTH_LONG).show();
Toast.makeText(context.getApplicationContext(),"Internet yes",Toast.LENGTH_LONG).show();
,problém je ale v tom že přehrává tón který se je platný při spuštění aplikace ,když se změní stav (druhá větev if ) tak se pořád přehraje ten samý tón díky
@Override
public void onReceive(Context context, Intent intent) {
String status = CheckInternet.getNetworkInfo(context);
if (status.equals("connected")){
Toast.makeText(context.getApplicationContext(),"Internet yes",Toast.LENGTH_LONG).show();
//nametext.setText("Internet online");
if (player == null){
player = MediaPlayer.create(context, R.raw.sonar_ping);
}
player.start();
}
else if (status.equals("disconnected")){
Toast.makeText(context.getApplicationContext(),"Internet no",Toast.LENGTH_LONG).show();
if (player == null){
player = MediaPlayer.create(context, R.raw.sirena);
}
player.start();
}
}
Protože ten MediaPlayer vytvoříš jenom jednou s definovaným zvukem a pak už ho nikdy nezměníš.
Tak jak to má být správně ? díky
Místo:
Tam dát:
Nebo dokonce jenom:
No dobře ale jak vyřešit tu druhou větev IF kdy se tam má přehrát sirena.mp3 v případě že nebude telefon online, teď jsem zjistil že stačí telefon otočit na bok a už to funguje jak mám díky
Ta druhá větev se samozřejmě upraví úplně stejně.
Toto tam přebývalo if (player == null) {bez toho to funguje .
Ještě jedno bych potřeboval do větve když není internet tak TextViever nametext.setText("Internet no");
Když to udělám tak aplikace zkolabuje co dělám špatně díky
No a co je to ten "nametext"?
Vážně "TextViever" a ne "TextViewer"? A když je to TextViev(w)er, proč se to snažíš přetypovat na TextView? A tohle je jenom deklarace proměnné. Někde ho taky reálně vytváříš?
Tak že tak já potřebuji napsat do TextView nametext; informaci podle IF jestli jsem online nebo ne
na těch podržených řádcích mě ta aplikace zkolabuje proč ? díky
Tady to vytvářím
To je ale lokální proměnná. Ne ta, na kterou se pak odkazuješ jinde.
Ach jo. Víťo.
Wikan tě chce už delší dobu nasměrovat na to, že:
TextView nametext;
Máš umístit někam globálně, aby to bylo definované všude.
Jednoduše to umísti nad celou funkci.
Pak bude nějaká šance se pohnout dál.
Tak tady je je celý zazipovaný projekt prostě já nevím jak dál
Tohle nefunguje?
Funguje ale jen ve třídě MainAktivity.java ale ve třídě kde je if to znamená kde se rozhoduje co tam napsat tak ne
Do které části kódu to tam mám dát ?díky
Do té kterou máš tady podtrženou: https://pc.poradna.net/questions/3146407-android-studio-jak-prehrat-spravny-zvuk#r3146496
Obecně ti poradím postup.
Musíš do projektu mezi zdroje (Resources) přidat zvuk siréna.mp3 (pokud tak už není).
Potom bude možné navolit něco jako: