Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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();

        }
    }
Předmět Autor Datum
Protože ten MediaPlayer vytvoříš jenom jednou s definovaným zvukem a pak už ho nikdy nezměníš.
Wikan 28.06.2022 14:16
Wikan
Tak jak to má být správně ? :-/ díky
Víťa 28.06.2022 14:22
Víťa
Místo: if (player == null) { player = MediaPlayer.create(context, R.raw.sonar_ping); } player.start…
Wikan 28.06.2022 15:16
Wikan
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 tel…
Víťa 28.06.2022 15:29
Víťa
Ta druhá větev se samozřejmě upraví úplně stejně.
Wikan 28.06.2022 16:13
Wikan
Toto tam přebývalo if (player == null) {bez toho to funguje . public class MainActivity extends App…
Víťa 28.06.2022 18:10
Víťa
No a co je to ten "nametext"?
Wikan 28.06.2022 19:06
Wikan
TextViever nametext;
Víťa 28.06.2022 19:17
Víťa
Vážně "TextViever" a ne "TextViewer"? A když je to TextViev(w)er, proč se to snažíš přetypovat na Te…
Wikan 28.06.2022 19:31
Wikan
Tak že tak já potřebuji napsat do TextView nametext; informaci podle IF jestli jsem online nebo ne […
Víťa 29.06.2022 11:19
Víťa
Někde ho taky reálně vytváříš?
Wikan 29.06.2022 11:39
Wikan
Tady to vytvářím Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(save…
Víťa 29.06.2022 13:27
Víťa
To je ale lokální proměnná. Ne ta, na kterou se pak odkazuješ jinde.
Wikan 29.06.2022 13:36
Wikan
Ach jo. Víťo. Wikan tě chce už delší dobu nasměrovat na to, že: TextView nametext; Máš umístit ně…
Flash_Gordon 29.06.2022 13:39
Flash_Gordon
Tak tady je je celý zazipovaný projekt prostě já nevím jak dál
Víťa 29.06.2022 14:23
Víťa
Tohle nefunguje? TextView nametext = (TextView)findViewById(R.id.text1); nametext.setText("Internet…
Wikan 29.06.2022 15:02
Wikan
Funguje ale jen ve třídě MainAktivity.java ale ve třídě kde je if to znamená kde se rozhoduje co tam…
Víťa 29.06.2022 15:16
Víťa
MainActivity activity = (MainActivity)context; TextView nametext = (TextView)context.findViewById(R.…
Wikan 29.06.2022 15:23
Wikan
Do které části kódu to tam mám dát ?díky
Víťa 29.06.2022 15:47
Víťa
Do té kterou máš tady podtrženou: https://pc.poradna.net/questions/3146407-android-studio-jak-prehra… poslední
Wikan 29.06.2022 17:08
Wikan
Obecně ti poradím postup. Musíš do projektu mezi zdroje (Resources) přidat zvuk siréna.mp3 (pokud ta…
Flash_Gordon 28.06.2022 17:51
Flash_Gordon

Toto tam přebývalo if (player == null) {bez toho to funguje .

public class MainActivity extends AppCompatActivity {
     BroadcastReceiver broadcastReceiver = null;
  /
    TextView nametext;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView nametext =(TextView)findViewById(R.id.text1); 

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

Zpět do poradny Odpovědět na původní otázku Nahoru