2017-07-10 6 views
0

J'ai une application avec 6 onglets. J'ai suivi ce tutoriel: https://youtu.be/00LLd7qr9sA. Les fichiers XML de l'onglet contiennent une vue de défilement et quelques boutons.Android Sound dans l'activité à onglets

Je dois faire quelques-uns de ces boutons pour faire un son quand on appuie dessus. Je ne peux pas utiliser un onClickListener et je ne peux pas non plus faire une fonction que je peux appeler à partir du fichier XML. Quelqu'un peut-il me dire ce qu'il faut mettre ici:

package com.ggblbl.soundsintabs; 

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class Tab4 extends Fragment { 

    MediaPlayer mediaPlayer; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.tab4makesounds, container, false); 
     } 
} 
+0

Pouvez-vous poster le code de votre activité principale? –

+0

C'est dans le tutoriel que j'ai lié. – ggblbl

Répondre

0

Essayez code suivant pour ajouter un clic aux boutons d'écoute dans le fragment et lire un fichier son.

MediaPlayer mediaPlayer; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.tab4makesounds, container, false); 
     Button btnOne = (Button) view.findViewById(R.id.YourButtonId); 

     btnOne.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

        if(mediaPlayer != null) { 
        mediaPlayer.stop(); 
        mediaPlayer.release(); 
        mediaPlayer = null; 
        } 

        mediaPlayer = MediaPlayer.create(getActivity(), R.raw.your_sound); 
        mediaPlayer.start(); 
      } 
     }); 
     return view; 
    } 
} 

Je suppose que votre fichier son est dans res/raw/dossier

0

essayer cette

 tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
      vibe.vibrate(100); 

     // add your sound here 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    });