PMO Pertemuan 7 Android multimedia

DEFINISI
Multimedia adalah penggunaan komputer untuk menyajikan dan menggabungkan teks, suara, gambar, animasi dan video dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat melakukan navigasi, berinteraksi, berkarya dan berkomunikasi. Multimedia sering digunakan dalam dunia hiburan. Selain dari dunia hiburan, Multimedia juga diadopsi oleh dunia game.

Multimedia dimanfaatkan juga dalam dunia pendidikan dan bisnis. Di dunia pendidikan, multimedia digunakan sebagai media pengajaran, baik dalam kelas maupun secara sendiri-sendiri. Di dunia bisnis, multimedia digunakan sebagai media profil perusahaan, profil produk, bahkan sebagai media kios informasi dan pelatihan dalam sistem e-learning.

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

PENGOLAHAN GAMBAR, SUARA, DAN VIDEO

1, Pengolahan gambar

Pengolahan gambar pada aplikasi android biasanya berupa tampilan untuk background, logo, atau memperindah sebuah tampilan aplikasi.

contoh memasukan gambar kedalam aplikasi android

a. buat project baru

b. copy gambar yang diinginkan

c.pastekan pada res->drawable

d.panggil pada buton, image view ata yang lainya

 

2. Pengolahan Suara dan video

a. buat project baru

b. buat folder resource raw untuk menaruh file suara atau video kalian

c. untuk memutar file tersebuat kita menambahkan coding pada file .java kita

untuk suara

MediaPlayer mp = new MediaPlayer();

btnPlay.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

mp = MediaPlayer.create(this, R.raw.indonesiaraya);

mp.start();

}

});

untuk video

videoView = (VideoView) findViewById(R.id.videoView)

videoView.setVideoURI(Uri.parse(“android.resource://” + getPackageName() +”/” + R.raw.contoh_video));

videoView.setMediaController(new MediaController(this));

videoView.start();

 

MEMULAI PROJECT

Struktur Navigasi

Disini saya membuat sebuah aplikasi multimedia dengan diagram navigasi yang terdiri dari HALAMAN AWAL (Home), HALAMAN MENU (Multimedia), kemudian didalam halaman awal terdapat 3 option yaitu About, Multimedia, dan Exit. Sedagkan didalam halaman menu terdapat 5 option yaitu Text, Gambar, Audio, Video, Animasi.

 

 

Membuat Project
Pertama kita buka Eclipse, kemudian File -> New -> Android Project
Kemudian saya isikan datanya sebagai berikut :
Project Name : Multimedia Daru
Built Target : Android 2.2
Application Name : Multimedia Daru
Package Name : com.multimedia.content
Create Activity :
Min SDK Version : 8
Kemudian saya Finish dan hasilnya akan muncul seperti gambar berikut ini :

Setelah itu muncul halaman packagenya, kemudian kita bikin beberapa file class dan file xml seperti berikut ini :

Home.java

package com.multimedia.content;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

publicclass home extends Activity implements OnClickListener {

Context ctx = this;

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

View enterButton =

findViewById(R.id.button_enter);

enterButton.setOnClickListener(this);

View aboutButton =

findViewById(R.id.button_about);

aboutButton.setOnClickListener(this);

View exitButton =

findViewById(R.id.button_exit);

exitButton.setOnClickListener(this);

}

publicvoid onClick(View v) {

switch (v.getId()){

case R.id.button_enter:

Intent Enter = new Intent(this, pilihan.class);

startActivity(Enter);

break;

case R.id.button_about:

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setMessage(“Aplikasi multimedia yang menarik yang dibuat oelh :\n” +

“\n” +

“\n” +

“Nama : Andaru Amanda\n” +

“NPM   : 50408099\n” +

“Kelas  : 4IA06”)

.setCancelable(false)

.setPositiveButton(“OK”,

new DialogInterface.OnClickListener() {

publicvoid onClick(DialogInterface dialog,

int id) {

dialog.cancel();

}

});

AlertDialog judul = builder.create();

judul.setTitle(“ABOUT”);

judul.setIcon(R.drawable.iconutama);

judul.show();

break;

case R.id.button_exit:

Intent exit = new Intent(Intent.ACTION_MAIN);

exit.addCategory(Intent.CATEGORY_HOME);

exit.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

startActivity(exit);

}

}

}

 

Main.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<AbsoluteLayout

android:id=”@+id/widget0″

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

xmlns:android=”http://schemas.android.com/apk/res/android”

android:background=”@drawable/bag1″

>

<Button android:text=”Exit”

android:layout_width=”51px”

android:layout_height=”49px”

android:id=”@+id/button_exit”

android:layout_x=”252dip”

android:layout_y=”310dip”>

</Button>

<Button android:text=”About”

android:layout_width=”62px”

android:layout_height=”49px”

android:id=”@+id/button_about”

android:layout_x=”0dip”

android:layout_y=”310dip”>

</Button>

<Button

android:text=”Multimedia”

android:layout_width=”137px”

android:layout_height=”49px”

android:id=”@+id/button_enter”

android:layout_x=”76dip”

android:layout_y=”310dip”>

</Button>

 

<TextView

android:layout_width=”wrap_content”

android:layout_height=”16px”

android:id=”@+id/widget34″

android:textColor=”#ff000000″

android:text=”Please Option”

android:layout_x=”118dip”

android:layout_y=”280dip”>

</TextView>

</AbsoluteLayout>

 

Audio.java

package com.multimedia.content;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

 

publicclass audio extends Activity implements OnClickListener{

/** Called when the activity is first created. */

@SuppressWarnings(“unchecked”)

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.audio);

ListView l = (ListView) findViewById(R.id.ListView);

ArrayAdapter adapter = ArrayAdapter.createFromResource(

this, R.array.audio_array, android.R.layout.simple_dropdown_item_1line);

l.setAdapter(adapter);

l.setOnItemClickListener(new AdapterView.OnItemClickListener()

{

publicvoid onItemClick(AdapterView<?> parent, View view, int position, long id) {

if(position == 0) {

Intent intent = new Intent(getApplicationContext(), home.class);

startActivity(intent);

}

}

});

}

@Override

publicvoid onClick(View arg0) {

// TODO Auto-generated method stub

} }

 

Audio.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout

android:id=”@+id/widget38″

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:orientation=”vertical”

xmlns:android=”http://schemas.android.com/apk/res/android”

android:background=”@drawable/bag3″>

 

<ListView

android:id=”@+id/ListView”

android:layout_width=”match_parent”

android:layout_height=”wrap_content”

>

</ListView>

<LinearLayout

android:id=”@+id/LinearLayout01″

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

>

</LinearLayout>

</LinearLayout>

 

Gambar.java

package com.multimedia.content;

 

import android.app.Activity;

import android.os.Bundle;

import android.content.Context;

import android.content.res.TypedArray;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageView;

import android.widget.Toast;

import android.widget.AdapterView.OnItemClickListener;

 

publicclass gambar extends Activity {

/** Called when the activity is first created. */

//—Daftar Gambar yang ingin Ditampilkan—

Integer[] list_image = {

R.drawable.a,

R.drawable.b,

R.drawable.c,

R.drawable.d,

R.drawable.e,

R.drawable.f,

R.drawable.g,

R.drawable.h,

};

String[]

fruit_name =

{“Baju A”,

“Baju B”,

“Baju C”,

“Baju D”,

“Baju E”,

“Baju F”,

“Baju G”,

“Baju H”,

};

@Override

publicvoid onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.gambar);

Gallery gallery = (Gallery) findViewById(R.id.gallery1);

gallery.setAdapter(new ImageAdapter(this));

gallery.setOnItemClickListener(new OnItemClickListener()

{

@SuppressWarnings(“unchecked”)

publicvoid onItemClick(AdapterView parent,

View v, int position, long id)

{

Toast.makeText(getBaseContext(),

fruit_name[position],

Toast.LENGTH_SHORT).show();

}

});

}

publicclass ImageAdapter extends BaseAdapter

{

private Context context;

privateintitemBackground;

public ImageAdapter(Context c)

{

context = c;

//—setting the style—

TypedArray a = obtainStyledAttributes(R.styleable.GalleryBajuBola);

itemBackground = a.getResourceId(R.styleable.GalleryBajuBola_android_galleryItemBackground, 0);

a.recycle();

}

//—returns the number of images—

publicint getCount() {

returnlist_image.length;

}

//—returns the ID of an item—

public Object getItem(int position) {

return position;

}

publiclong getItemId(int position) {

return position;

}

//—returns an ImageView view—

public View getView(int position, View convertView, ViewGroup parent) {

ImageView imageView = new ImageView(context);

imageView.setImageResource(list_image[position]);

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

imageView.setLayoutParams(new Gallery.LayoutParams(240, 150));

imageView.setBackgroundResource(itemBackground);

return imageView;

}

}

}

 

Gambar.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”

android:background=”@drawable/bag3″

>

<TextView

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”ALBUM”

/>

<Gallery

android:id=”@+id/gallery1″

android:layout_width=”fill_parent”

android:layout_height=”wrap_content” />

<ImageView

android:id=”@+id/image1″

android:layout_width=”320px”

android:layout_height=”250px”

android:scaleType=”fitXY” />

</LinearLayout>

 

Pilihan.java

package com.multimedia.content;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

 

publicclass pilihan extends Activity implements OnClickListener {

Context ctx = this;

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main1);

View textButton =

findViewById(R.id.button_text);

textButton.setOnClickListener(this);

View gambarButton =

findViewById(R.id.button_gambar);

gambarButton.setOnClickListener(this);

View audioButton =

findViewById(R.id.button_audio);

audioButton.setOnClickListener(this);

View videoButton =

findViewById(R.id.button_video);

videoButton.setOnClickListener(this);

View animasiButton =

findViewById(R.id.button_animasi);

animasiButton.setOnClickListener(this);

}

publicvoid onClick(View v) {

switch (v.getId()){

case R.id.button_text:

Intent text = new Intent(this, text.class);

startActivity(text);

break;

case R.id.button_gambar:

Intent gambar = new Intent(this, gambar.class);

startActivity(gambar);

break;

case R.id.button_audio:

Intent audio = new Intent(this, audio.class);

startActivity(audio);

break;

case R.id.button_video:

Intent video = new Intent(this, video.class);

startActivity(video);

break;

case R.id.button_animasi:

Intent animasi = new Intent(this, animasi.class);

startActivity(animasi);

break;

}

}

}

 

Main1.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<AbsoluteLayout

android:id=”@+id/widget0″

xmlns:android=”http://schemas.android.com/apk/res/android”

android:background=”@drawable/bag2″

android:layout_width=”wrap_content” android:layout_height=”match_parent”>

<Button

android:text=”TEXT”

android:layout_width=”140px”

android:layout_height=”48px”

android:id=”@+id/button_text”

android:layout_x=”105dip”

android:layout_y=”40dip”>

</Button>

<Button

android:text=”GAMBAR”

android:layout_width=”140px”

android:layout_height=”48px”

android:id=”@+id/button_gambar”

android:layout_x=”105dip”

android:layout_y=”99dip”>

</Button>

<Button

android:text=”AUDIO”

android:layout_width=”140px”

android:layout_height=”48px”

android:id=”@+id/button_audio”

android:layout_x=”105dip”

android:layout_y=”158dip”>

</Button>

<Button

android:text=”VIDEO”

android:layout_width=”140px”

android:layout_height=”48px”

android:id=”@+id/button_video”

android:layout_x=”105dip”

android:layout_y=”217dip”>

</Button>

<Button android:text=”ANIMASI”

android:layout_width=”140px”

android:layout_height=”48px”

android:id=”@+id/button_animasi”

android:layout_x=”105dip”

android:layout_y=”275dip”>

</Button>

</AbsoluteLayout>

 

Text.java

package com.multimedia.content;

 

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

 

publicclass text extends Activity implements OnClickListener {

Context ctx = this;

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.text);

}

@Override

publicvoid onClick(View v) {

// TODO Auto-generated method stub

}

}

 

Text.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout

xmlns:android=”http://schemas.android.com/apk/res/android”

android:layout_width=”match_parent”

android:layout_height=”match_parent”

android:background=”@drawable/bag4″

>

<ScrollView

android:id=”@+id/ScrollView01″

android:layout_width=”240px”

android:layout_height=”300px”

android:layout_x=”5px”

android:layout_y=”38px”

>

<TextView

android:id=”@+id/TextView”

android:layout_width=”wrap_content”

android:layout_height=”190dip”

android:text=”@string/txt_1″

android:textColor=”#000000″

>

</TextView>

</ScrollView>

</LinearLayout>

 

Video.java

package com.multimedia.content;

import java.io.File;

import android.app.Activity;

import android.graphics.PixelFormat;

import android.os.Bundle;

import android.os.Environment;

import android.widget.MediaController;

import android.widget.VideoView;

publicclass video extends Activity {

 

private VideoView myvideo;

private MediaController mediacontroller;

@Override

publicvoid onCreate(Bundle icicle) {

super.onCreate(icicle);

getWindow().setFormat(PixelFormat.TRANSLUCENT);

setContentView(R.layout.video);

//akan membaca file samplevideo.3gp yang ada pada SDCARD (external memrory)

File clip=new File(Environment.getExternalStorageDirectory(),”Sinkansen.3gp”);

 

//Jika file samplevideo.3gp  ditemukan maka video dapat dimainkan

if (clip.exists()) {

myvideo=(VideoView)findViewById(R.id.video);

myvideo.setVideoPath(clip.getAbsolutePath());

mediacontroller=new MediaController(this);

mediacontroller.setMediaPlayer(myvideo);

myvideo.setMediaController(mediacontroller);

myvideo.requestFocus();

myvideo.start();

}

}

}

 

Video.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”

android:background=”@drawable/bag3″>

<VideoView

android:id=”@+id/video”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

/>

</LinearLayout>

 

Animasi.java

package com.multimedia.content;

 

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

 

publicclass animasi extends Activity implements OnClickListener {

Context ctx = this;

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.animasi);

}

@Override

publicvoid onClick(View v) {

// TODO Auto-generated method stub

 

}

}

 

Setelah saya membuat file java dan xml, maka akan terbentuk package seperti berikut ini :

Dan yang terakhir jangan lupa kita buat folder “raw” yang berisi file audio dan video didalam folder res.

Dengan Demikian project konten multimedia ini selesai saya buat, maka output nya adalah seperti ini :

OUTPUT

Halaman Awal

Halaman About

Halaman Menu (Multimedia)

Halaman Text

Halaman Gambar

Halaman Audio

Halaman Video

Halaman Animasi

download file presentasi

 

Referensi:

Pemrograman Multimedia – Aplikasi Konten Multimedia Berbasis Android

Tutorial Membuat Aplikasi Android multimedia

Memasukan Gambar ke dalam project Android

Membuat Aplikasi Audio

Membuat Aplikasi Video