• Aucun résultat trouvé

Leçon : Le son, avec SoundPool

N/A
N/A
Protected

Academic year: 2022

Partager "Leçon : Le son, avec SoundPool"

Copied!
11
0
0

Texte intégral

(1)

Développer sur Android

Android Lab Test

www.AndroidLabTest.com

Fa ce b o o k

Par Bruno Delb

www.youtube.com/androidlabtest

www.twitter.com/brunodelb | www.facebook.com/brunodelb | blog.brunodelb.com

www.facebook.com/Androidlabtest

Yo u tu b e

Si te o f ci e l

Leçon : Le son, avec SoundPool

(2)

Le son, avec SoundPool

• Dans cette leçon, vous allez apprendre à jouer des sons.

• Pour cela, vous allez utiliser le SoundPool.

(3)

Le son, avec SoundPool

• Créez un SoundPool en spécifiant :

– le nombre maximum de flux,

– le type de flux (exemple : STREAM_MUSIC), – la qualité (inutilisé pour l’instant).

SoundPool soundPool;

soundPool = new SoundPool (

2, // max streams

AudioManager.STREAM_MUSIC, // stream type

100 // quality (not used)

);

(4)

Le son, avec SoundPool

• Chargez les sons avec la méthode load() en spécifiant :

– le contexte,

– L’id de la ressource, – La priorité.

• Vous obtenez en retour un identifiant (soundId).

soundId = soundPool.load ( this, // context

R.raw.audiofile, // resource id

0 // priority

);

(5)

Le son, avec SoundPool

• Jouez chaque son avec la méthode play() en spécifiant :

– L’identifiant du son,

– Les volumes de gauche et de droite, – La priorité,

– L’indication si le son doit être joué en boucle ou non, – La vitesse de lecture

soundPool.play (

soundId, // sound id

1f, // left volume (0.0-1.0) 1f, // right volume (0.0-1.0) 0, // priority (0 = the lowest) 0, // loop (0 = no, -1 = yes) 1f// rate (0.5-2.0)

);

(6)

Ressources

• Un fichier son audiofile (extension quelconque) doit être

présent dans le répertoire res\raw du projet.

(7)

Layout main.xml

<?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">

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Play"

android:id="@+id/btnPlay" />

</LinearLayout>

(8)

Fichier Main.java

public class Main extends Activity {

SoundPool soundPool;

int soundId;

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button btnPlay = (Button)this.findViewById(R.id.btnPlay);

btnPlay.setOnClickListener(new OnClickListener() { public void onClick(View v) {

soundPool.play (

soundId, // sound id

1f, // left volume (0.0 à 1.0) 1f, // right volume (0.0 à 1.0) 0, // priority

0, // loop

1f // rate (de 0.5 à 2.0) );

} });

(9)

Fichier Main.java

soundPool = new SoundPool (

2, // max streams

AudioManager.STREAM_MUSIC, // stream type 100 // quality (not used) );

soundId = soundPool.load (

this, // context

R.raw.audiofile, // resource id

1 // priority

);

} }

(10)

Testez sur votre mobile

Media_SoundPool

(11)

Retrouvez-moi sur ma chaîne AndroidLabTest … Sur ma chaîne Youtube

https://www.youtube.com/user/mobiledevlabtest

Qui suis-je ?

Bruno Delb ,

auteur du 1

er

livre francophone de développement d’application Java sur mobile (2002), développeur d’applications mobiles & sociales,

parlez-moi de vos projets.

Et bien sûr sur mon site Web :

http://blog.brunodelb.com

Références

Documents relatifs

100. Le concept de celiulaire, utilise dans le systeme de telephone mobile celiulaire normal est adopts comme base du systeme d'acces sans fil pour fournir aux communautes

1 Fiche réalisée par Maxime Girard pour les Zexperts FLE Brise Glace - Cartes Parlez-moi de...... Parlez-moi de la

Composants d’une application Android Les 4 types d’application Android Fichier et éditeur Manifest.xml Cycle de vie application Android Priorités des applications Etat

Pré requis pour le module, liens avec autres modules : La connaissance du langage Java. Des bases concernant les documents XML sont un plus. Objectifs :. - Connaissance des

L’accroissement substantiel du nombre des cas d’inva- lidité: ce matin, j’ai fait sortir la liste et nous avions eu en 2001, des pensions d’invalidité payées pour un montant

Malraux, son engagement et sa lutte personnelle au service d´un idéal centralisé dans la lutte contre le fascisme en Espagne, soit un exemple à suivre, aujourd´hui, époque d´une

Connaître les bases de JavaScript et de son utilisation pour le DOM - Gérer les évènements et les manipulations dynamiques - Connaître les règles d'or de la programmation

Cette formation se compose d’une alternance d’apports théoriques, de travaux pratiques s’articulant autour d’une application fil rouge, de démonstrations, de phases