SlideShare a Scribd company logo
1 of 17
Download to read offline
Android Media
(Audio & Video)
Topics
• Audio/Video support in Android platform
• Audio and Video playback
• Playing JET content
• Supported media formats
• Capturing audio
Audio and Videod Video
Support in Android Platform
Audio & Video Support in Android
• The Android platform offers built-in
encoding/decoding for a variety of common
media types, so that you can easily integrate
audio, video, and images into your applications.
• Accessing the platform's media capabilities is
fairly straightforward — you do so using the
same intents and activities mechanism that the
rest of Android uses.
Audio and Video
Playback
Audio and Video Playback
• Media can be played from
> A raw resource
> A file from the system
> Network stream
• You can play back the audio data only to the
standard output device; currently, that is the
mobile device speaker or Bluetooth headset.
• You cannot play sound files in the conversation
audio.
Play from a Raw Resource
• Play back media (notably sound) within your
own applications.
• Steps to take
> Put the sound (or other media resource) file into
the /res/raw folder of your project, where the Eclipse
plugin (or aapt) will find it and make it into a
resource that can be referenced from your R class
> Create an instance of MediaPlayer, referencing that
resource using MediaPlayer.create, and then call
start() on the instance:
MediaPlayer mp = MediaPlayer.create(context,
R.raw.sound_file_1);
mp.start();
Playing from a File or Stream
• You can play media files from the filesystem or
a web URL
• Steps to take
> Create an instance of the MediaPlayer
> Call setDataSource() with a String containing the
path (local filesystem or URL) to the file you want to
play
> Call prepare() then start() on the instance:
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
mp.start();
Playing JET Content
Playing JET Content
• The Android platform includes a JET engine that
lets you add interactive playback of JET audio
content in your applications.
• You can create JET content for interactive
playback using the JetCreator authoring
application that ships with the SDK.
• To play and manage JET content from your
application, use the JetPlayer class.
Playing JET Content
• A example of how to set up JET playback from a
.jet file stored on the SD card:
JetPlayer myJet = JetPlayer.getJetPlayer();
myJet.loadJetFile("/sdcard/level1.jet");
byte segmentId = 0;
// queue segment 5, repeat once, use General MIDI,
transpose by -1 octave
myJet.queueJetSegment(5, -1, 1, -1, 0, segmentId++);
// queue segment 2
myJet.queueJetSegment(2, -1, 0, 0, 0, segmentId++);
myJet.play();
Android Supported
Media Formats
Core Media Formats
• Audio
> AAC LC/LTP, HE-AACv1 (AAC+), HE-AACv2 (enhanced
AAC+), AMR-NB, AMR-WB, MP3, MIDI, Ogg Vorbis,
PCM/WAVE
• Video
> H.263, H.264 AVC, MPEG-4 SP
Audio Capture
Audio Capture
• The Android platform lets you record audio and
video, where supported by the mobile device
hardware.
• To record audio or video, use the
MediaRecorder class.
Audio Capture Example
recorder = new MediaRecorder();
ContentValues values = new ContentValues(3);
values.put(MediaStore.MediaColumns.TITLE, SOME_NAME_HERE);
values.put(MediaStore.MediaColumns.TIMESTAMP, System.currentTimeMillis());
values.put(MediaStore.MediaColumns.MIME_TYPE, recorder.getMimeContentType());
ContentResolver contentResolver = new ContentResolver();
Uri base = MediaStore.Audio.INTERNAL_CONTENT_URI;
Uri newUri = contentResolver.insert(base, values);
if (newUri == null) {
// need to handle exception here - we were not able to create a new
// content entry
}
String path = contentResolver.getDataFilePath(newUri);
// could use setPreviewDisplay() to display a preview to suitable View here
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
Thank you

More Related Content

What's hot

android content providers
android content providersandroid content providers
android content providers
Deepa Rani
 

What's hot (20)

Broadcast Receiver
Broadcast ReceiverBroadcast Receiver
Broadcast Receiver
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
 
Android Widget
Android WidgetAndroid Widget
Android Widget
 
Android Multimedia Support
Android Multimedia SupportAndroid Multimedia Support
Android Multimedia Support
 
What is Flutter
What is FlutterWhat is Flutter
What is Flutter
 
Flutter
FlutterFlutter
Flutter
 
Flutter
Flutter Flutter
Flutter
 
Introduction to Flutter
Introduction to FlutterIntroduction to Flutter
Introduction to Flutter
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HAL
 
An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...An Introduction to the Android Framework -- a core architecture view from app...
An Introduction to the Android Framework -- a core architecture view from app...
 
Introduction to flutter
Introduction to flutter Introduction to flutter
Introduction to flutter
 
What is flutter and why should i care?
What is flutter and why should i care?What is flutter and why should i care?
What is flutter and why should i care?
 
Android: Intent, Intent Filter, Broadcast Receivers
Android: Intent, Intent Filter, Broadcast ReceiversAndroid: Intent, Intent Filter, Broadcast Receivers
Android: Intent, Intent Filter, Broadcast Receivers
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in android
 
Applet in java
Applet in javaApplet in java
Applet in java
 
AndroidManifest
AndroidManifestAndroidManifest
AndroidManifest
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio Overview
 
android content providers
android content providersandroid content providers
android content providers
 

Similar to Android media

Java Media Framework API
Java Media Framework APIJava Media Framework API
Java Media Framework API
elliando dias
 
Ig2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinIg2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martin
Kalen612
 
Ig2 task 1 work sheet (use this)
Ig2 task 1 work sheet (use this)Ig2 task 1 work sheet (use this)
Ig2 task 1 work sheet (use this)
Deightonater
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheet
gordonpj96
 
Ben white ig2 task 1 work sheet
Ben white   ig2 task 1 work sheetBen white   ig2 task 1 work sheet
Ben white ig2 task 1 work sheet
BenWhite101
 
How to make a video - Part 2: Post-Production Basics
How to make a video - Part 2: Post-Production BasicsHow to make a video - Part 2: Post-Production Basics
How to make a video - Part 2: Post-Production Basics
Kris Brewer
 

Similar to Android media (20)

Android Multimedia Player Project Presentation
Android Multimedia Player Project PresentationAndroid Multimedia Player Project Presentation
Android Multimedia Player Project Presentation
 
Android media-chapter 23
Android media-chapter 23Android media-chapter 23
Android media-chapter 23
 
Gtug
GtugGtug
Gtug
 
Java Media Framework API
Java Media Framework APIJava Media Framework API
Java Media Framework API
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)
 
Prasentation Managed DirectX
Prasentation Managed DirectXPrasentation Managed DirectX
Prasentation Managed DirectX
 
Paris Video Tech #2 - Presentation by Jean-Yves Avenard
Paris Video Tech #2 - Presentation by Jean-Yves AvenardParis Video Tech #2 - Presentation by Jean-Yves Avenard
Paris Video Tech #2 - Presentation by Jean-Yves Avenard
 
Ig2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinIg2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martin
 
Ig2 task 1 work sheet (use this)
Ig2 task 1 work sheet (use this)Ig2 task 1 work sheet (use this)
Ig2 task 1 work sheet (use this)
 
Audio and video streaming
Audio and video streamingAudio and video streaming
Audio and video streaming
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSL
 
Ig2 task 1 work sheet
Ig2 task 1 work sheetIg2 task 1 work sheet
Ig2 task 1 work sheet
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
BDPA Open Source 2012
BDPA  Open Source  2012BDPA  Open Source  2012
BDPA Open Source 2012
 
Ben white ig2 task 1 work sheet
Ben white   ig2 task 1 work sheetBen white   ig2 task 1 work sheet
Ben white ig2 task 1 work sheet
 
IG2 Task 1 Work Sheet
IG2 Task 1 Work SheetIG2 Task 1 Work Sheet
IG2 Task 1 Work Sheet
 
Core audio
Core audioCore audio
Core audio
 
How to make a video - Part 2: Post-Production Basics
How to make a video - Part 2: Post-Production BasicsHow to make a video - Part 2: Post-Production Basics
How to make a video - Part 2: Post-Production Basics
 
Html multimedia
Html multimediaHtml multimedia
Html multimedia
 
JAVA Media Player
JAVA Media PlayerJAVA Media Player
JAVA Media Player
 

More from Krazy Koder (20)

2310 b xd
2310 b xd2310 b xd
2310 b xd
 
2310 b xd
2310 b xd2310 b xd
2310 b xd
 
2310 b xd
2310 b xd2310 b xd
2310 b xd
 
2310 b xc
2310 b xc2310 b xc
2310 b xc
 
2310 b xb
2310 b xb2310 b xb
2310 b xb
 
2310 b 17
2310 b 172310 b 17
2310 b 17
 
2310 b 16
2310 b 162310 b 16
2310 b 16
 
2310 b 16
2310 b 162310 b 16
2310 b 16
 
2310 b 15
2310 b 152310 b 15
2310 b 15
 
2310 b 15
2310 b 152310 b 15
2310 b 15
 
2310 b 14
2310 b 142310 b 14
2310 b 14
 
2310 b 13
2310 b 132310 b 13
2310 b 13
 
2310 b 12
2310 b 122310 b 12
2310 b 12
 
2310 b 11
2310 b 112310 b 11
2310 b 11
 
2310 b 10
2310 b 102310 b 10
2310 b 10
 
2310 b 09
2310 b 092310 b 09
2310 b 09
 
2310 b 08
2310 b 082310 b 08
2310 b 08
 
2310 b 08
2310 b 082310 b 08
2310 b 08
 
2310 b 08
2310 b 082310 b 08
2310 b 08
 
2310 b 07
2310 b 072310 b 07
2310 b 07
 

Android media

  • 2. Topics • Audio/Video support in Android platform • Audio and Video playback • Playing JET content • Supported media formats • Capturing audio
  • 3. Audio and Videod Video Support in Android Platform
  • 4. Audio & Video Support in Android • The Android platform offers built-in encoding/decoding for a variety of common media types, so that you can easily integrate audio, video, and images into your applications. • Accessing the platform's media capabilities is fairly straightforward — you do so using the same intents and activities mechanism that the rest of Android uses.
  • 6. Audio and Video Playback • Media can be played from > A raw resource > A file from the system > Network stream • You can play back the audio data only to the standard output device; currently, that is the mobile device speaker or Bluetooth headset. • You cannot play sound files in the conversation audio.
  • 7. Play from a Raw Resource • Play back media (notably sound) within your own applications. • Steps to take > Put the sound (or other media resource) file into the /res/raw folder of your project, where the Eclipse plugin (or aapt) will find it and make it into a resource that can be referenced from your R class > Create an instance of MediaPlayer, referencing that resource using MediaPlayer.create, and then call start() on the instance: MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1); mp.start();
  • 8. Playing from a File or Stream • You can play media files from the filesystem or a web URL • Steps to take > Create an instance of the MediaPlayer > Call setDataSource() with a String containing the path (local filesystem or URL) to the file you want to play > Call prepare() then start() on the instance: MediaPlayer mp = new MediaPlayer(); mp.setDataSource(PATH_TO_FILE); mp.prepare(); mp.start();
  • 10. Playing JET Content • The Android platform includes a JET engine that lets you add interactive playback of JET audio content in your applications. • You can create JET content for interactive playback using the JetCreator authoring application that ships with the SDK. • To play and manage JET content from your application, use the JetPlayer class.
  • 11. Playing JET Content • A example of how to set up JET playback from a .jet file stored on the SD card: JetPlayer myJet = JetPlayer.getJetPlayer(); myJet.loadJetFile("/sdcard/level1.jet"); byte segmentId = 0; // queue segment 5, repeat once, use General MIDI, transpose by -1 octave myJet.queueJetSegment(5, -1, 1, -1, 0, segmentId++); // queue segment 2 myJet.queueJetSegment(2, -1, 0, 0, 0, segmentId++); myJet.play();
  • 13. Core Media Formats • Audio > AAC LC/LTP, HE-AACv1 (AAC+), HE-AACv2 (enhanced AAC+), AMR-NB, AMR-WB, MP3, MIDI, Ogg Vorbis, PCM/WAVE • Video > H.263, H.264 AVC, MPEG-4 SP
  • 15. Audio Capture • The Android platform lets you record audio and video, where supported by the mobile device hardware. • To record audio or video, use the MediaRecorder class.
  • 16. Audio Capture Example recorder = new MediaRecorder(); ContentValues values = new ContentValues(3); values.put(MediaStore.MediaColumns.TITLE, SOME_NAME_HERE); values.put(MediaStore.MediaColumns.TIMESTAMP, System.currentTimeMillis()); values.put(MediaStore.MediaColumns.MIME_TYPE, recorder.getMimeContentType()); ContentResolver contentResolver = new ContentResolver(); Uri base = MediaStore.Audio.INTERNAL_CONTENT_URI; Uri newUri = contentResolver.insert(base, values); if (newUri == null) { // need to handle exception here - we were not able to create a new // content entry } String path = contentResolver.getDataFilePath(newUri); // could use setPreviewDisplay() to display a preview to suitable View here recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(path); recorder.prepare(); recorder.start();