09.02.2017 Views

creez-des-applications-pour-android

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.5 Le multimédia<br />

// Se déclenche quand la surface est créée<br />

public void surfaceCreated(SurfaceHolder holder) {<br />

try {<br />

mCamera.setPreviewDisplay(holder);<br />

mCamera.startPreview();<br />

} catch (IOException e) {<br />

e.printStackTrace();<br />

}<br />

}<br />

// Se déclenche quand la surface est détruite<br />

public void surfaceDestroyed(SurfaceHolder holder) {<br />

mCamera.stopPreview();<br />

}<br />

// Se déclenche quand la surface change de dimensions ou de format<br />

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {<br />

}<br />

@Override<br />

protected void onResume() {<br />

super.onResume();<br />

mCamera = Camera.open();<br />

}<br />

}<br />

@Override<br />

protected void onPause() {<br />

super.onPause();<br />

mCamera.release();<br />

}<br />

Enfin, <strong>pour</strong> libérer la caméra, on utilise la méthode void release().<br />

6.5.2.4 Enregistrer <strong>des</strong> vidéos<br />

6.5.2.4.1 Demander à une autre application de le faire à notre place Encore<br />

une fois, il est tout à fait possible de demander à une autre application de prendre une<br />

vidéo <strong>pour</strong> nous, puis de la récupérer afin de la traiter. Cette fois, l’action à spécifier est<br />

MediaStore.ACTION_VIDEO_CAPTURE. Pour préciser dans quel emplacement stocker la vidéo,<br />

il faut utiliser l’extra MediaStore.EXTRA_OUTPUT :<br />

private static final int VIDEO = 0 ;<br />

@Override<br />

public void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

setContentView(R.layout.activity_main);<br />

433

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!