Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 1.99 KB

09-Multimedia.asc

File metadata and controls

91 lines (72 loc) · 1.99 KB

Android

Affichage

  • Graphismes 2D

    • ImageView

    • Canvas

  • Animations

Dessiner en 2D

  • Dessiner dans une vue

    • Graphismes simples avec pas ou peu de mise à jour

  • Dessiner sur un canvas

    • Graphismes plus complexes avec plus de mises à jour

Drawable

  • Tout ce qui peut être dessiné :

    • BitmapDrawable

    • ColorDrawable

    • ShapeDrawable

  • Définis programmatiquement ou via XML

Dessiner dans un canvas

  • De multiples méthodes de dessin

    • drawText()

    • drawPoints()

    • drawColor()

    • drawOval()

    • drawBitmap()

Paint

  • Définit les propriétés du tracé :

    • strokeWidth

    • textSize

    • color

    • antialiasing

Dessiner dans une vue

  • Updates non fréquents

  • Class View custom

  • On surcharge la méthode onDraw() qui prend le canvas en paramètre

SurfaceView

  • On créée une SurfaceView custom

  • Fournit un thread séparé pour l’affichage

  • L’application fournit son propre canvas ce qui laisse plus de contrôle

SurfaceView

  • On récupère d’abord le holder avec getHolder()

  • On peut enregistrer des callbacks sur le holder

  • Quand on veut dessiner :

    • On récupère un lock sur le canvas avec holder.lockCanvas()

    • On dessine tant qu’on veut dessus

    • On libère alors le canvas pour affichage avec holder.unlockCanvasAndPost()

AudioManager

  • Volume

  • Sons système et sonneries

  • Charge et jour des sons

  • Context.getSystemService(Context.AUDIO_SERVICE)

SoundPool

  • Collection de sons

  • Peut en lancer plusieurs en simultanée

SoundPool

soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
soundId = soundPool.load(this, R.raw.my_sound, 1);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
	@Override
	public void onLoadComplete
			(SoundPool soundPool, int sampleId, int status) {
		soundPool.play(sampleId, volume, volume, 1, 0, 1.0f);
	}
});