Oca 24

Android Uygulamasında MP3 Oynatma

Merhaba arkadaşlar bugünkü yazımda android programlamada mp3 dosyalarını nasıl oynatabilecğinizi anlatacağım. Çok basit bir örnek olacak. Bir oynat ve bir durdur butonu ile mp3 çalmayı göstereceğim. Örneği geliştirip değiştirmek tabi ki sizin ellerinizde. Örnek ekran görüntüsü aşağıdadır;

Screenshot_2014-02-26-19-13-37        Programlama kısmına gelince öncelikle res klasörü içerisine raw klasörü oluşturun. Daha sonra muzik.mp3 isimli bir dosyanız olsun. Bu dosyayı da raw dizinine kopyalayın.

Ekran için MainActivity.xml dosyasına bakacak olursak;

<TableLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
xmlns:tools=”http://schemas.android.com/tools&#8221;
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”.MainActivity”
tools:ignore=”Orientation,HardcodedText” >

<Button
android:id=”@+id/button1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Başlat” />

<Button
android:id=”@+id/button2″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Durdur” />

<TextView
android:id=”@+id/state”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Duruyor” />

<MediaController
android:id=”@+id/mediaController1″
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_weight=”0.21″ >
</MediaController>

</TableLayout>

Activity.java dosyasında yazdığımız kodlar;

package com.example.sesdeneme;

import java.io.IOException;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
MediaPlayer mediaPlayer;
Button buttonPlayPause, buttonQuit;
TextView textState;
MediaPlayer mPlayer;

private int stateMediaPlayer;
private final int stateMP_Error = 0;
private final int stateMP_NotStarter = 1;
private final int stateMP_Playing = 2;
private final int stateMP_Pausing = 3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

buttonPlayPause = (Button)findViewById(R.id.button1);
buttonQuit = (Button)findViewById(R.id.button2);
textState = (TextView)findViewById(R.id.state);

buttonPlayPause.setOnClickListener(buttonPlayPauseOnClickListener);
buttonQuit.setOnClickListener(buttonQuitOnClickListener);

initMediaPlayer();

MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this, R.raw.muzik);
mPlayer.start();
}
public void onDestroy() {

mPlayer.stop();
super.onDestroy();

}
Button.OnClickListener buttonQuitOnClickListener
= new Button.OnClickListener(){

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mediaPlayer.stop();
mediaPlayer.release();
finish();
}
};
Button.OnClickListener buttonPlayPauseOnClickListener
= new Button.OnClickListener(){

@Override
public void onClick(View v) {

switch(stateMediaPlayer){
case stateMP_NotStarter:
mediaPlayer.start();
buttonPlayPause.setText(“Pause”);
textState.setText(“- Oynatılıyor -“);
stateMediaPlayer = stateMP_Playing;
break;
case stateMP_Playing:
mediaPlayer.pause();
buttonPlayPause.setText(“Play”);
textState.setText(“- Durduruldu -“);
stateMediaPlayer = stateMP_Pausing;
break;
case stateMP_Pausing:
mediaPlayer.start();
buttonPlayPause.setText(“Pause”);
textState.setText(“- Oynatılıyor -“);
stateMediaPlayer = stateMP_Playing;
break;
}

}
};

private void initMediaPlayer()
{
mediaPlayer = new MediaPlayer();
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.muzik);
stateMediaPlayer = stateMP_NotStarter;
textState.setText(“- Normal -“);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

Kodlarda anlamadığınız bir yer olursa yorum yazabilirsiniz. Elimden geldiğince sorularınızı cevaplayabilirim.

Bir Cevap Yazın