• Lire ses mp3 en streaming avec android

    Publié le 02 juillet 2009 par Guy (GuyTouch)


    Dans ce tuto assez simple je vais développer un client pour lire ses propres mp3. Sous android pour lire des mp3 en ligne, il y a rien de plus facile. D’abord je vais créer une fenêtre avec 3 buttons, un bouton stop,un bouton start et un bouton pause. J’ ajoute également une zone de texte pour afficher les informations sur le titre

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView  
    	android:id="@+id/text"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        />
     
     <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="1">
        <TableRow>
        	<Button android:id="@+id/stop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Stop"/>
     
            <Button android:id="@+id/start"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Start"/>
     
            <Button android:id="@+id/pause"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Pause"/>
        </TableRow>
      </TableLayout>     
     
    </LinearLayout>

    La classe pour pourvoir faire du streaming de musique et aussi de la vidéo, est la classe MediaPlayer. Le fonctionnement de cette classe et assez simple. Dans la méthode
    setDataSource on passe l’url du fichier, et après j’utilise les méthodes start,stop ,pause qui sont assez explicites.

    ?Download download.txt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    
    public class LecteurStreaming extends Activity {
     
    	private MediaPlayer mediaPlayer;
    	/** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            try{
        	super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            mediaPlayer=new MediaPlayer();
     
            String urlfichier="http://adresse internet du fichier"
            mediaPlayer.setDataSource(urlfichier);
        	mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mediaPlayer.prepare();
            final TextView texthaut = (TextView) findViewById(R.id.text);
     
           //calcul de la durer du morceau
            int iduration  = mediaPlayer.getDuration();
            int minute = iduration/60000;
            int intreste = iduration-minute*60000;
            int iseconde= intreste/1000;
            String sMetminutezero="";
            String sMetminuteseconde="";
     
            if(minute&lt;10)
            	sMetminutezero="0";
     
            if(iseconde&lt;10)
            	sMetminuteseconde="0";
            //j'affiche le titre suivi du temp de la chanson
            String stitre = "titre "+sMetminutezero+minute+":"+sMetminuteseconde+iseconde;
            texthaut.setText(stitre);
     
            //mediaPlayer.start();
     
            Button btStart = (Button) findViewById(R.id.start);
            Button btStop = (Button) findViewById(R.id.stop);
            Button btPause = (Button) findViewById(R.id.pause);
     
            btStart.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View v) {
                	try{
                		mediaPlayer.start();
                	}
                	catch (Exception e) {
                		texthaut.setText("erreur "+e.getMessage());
    	               }
     
                }
        	});
     
            btStop.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View v) {
                	try{
                		mediaPlayer.stop();
                		mediaPlayer.prepare();
                	}
                	catch (Exception e) {
                		texthaut.setText("erreur "+e.getMessage());
    	               }
     
                }
        	});
     
            btPause.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View v) {
                	try{
                		mediaPlayer.pause();
                	}
                	catch (Exception e) {
                		texthaut.setText("erreur "+e.getMessage());
    	               }
     
                }
        	});        
     
            }
            catch(Exception ex){
            	final TextView texthaut = (TextView) findViewById(R.id.text);
            	texthaut.setText(ex.getMessage());
            }
           }
    }

    Résultat
    streanningmp31 206x300 Lire ses mp3 en streaming avec android Android France

    Il est temps de mettre à profit les tutoriels d’Android France:
    Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo


    Guy

    Co-fondateur du site Android france, senior lead developper, passionné de bière et de cigare cubain

    Twitter Google+ 

  • Laissez un commentaire

  • Les Brèves