Trung tâm Tin học – ĐH KHTN Nghe Nhạc trong Android Trong bài viết này mình sẽ tạo 1 ứng dụng nho nhỏ để nghe nhạc trên Virtual Device. Ứng dụng khá đơn giản, các bạn hoàn toàn có thể thêm vào các Project khác. Ứng dụng của mình được làm như sau: 1/ Tạo Project : Project name: DacMedia Build Target: Android 2.3.3 Application name: DacMedia Package name: com.dac.DacMedia Create Activity: DacMedia 2/ Các bạn thiết kế giao diện như sau: <?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" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Nobilomo" /> <Button android:id="@+id/startPlayerBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Start Playing Audio" android:onClick="doClick" /> <Button android:id="@+id/pausePlayerBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Pause Player" android:onClick="doClick" /> <Button android:id="@+id/restartPlayerBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Restart Player" android:onClick="doClick" /> <Button android:id="@+id/stopPlayerBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Stop Player" android:onClick="doClick" /> </LinearLayout> Lập trình Android – http://laptrinhdidong.vn Page 1 Trung tâm Tin học – ĐH KHTN 3/ Tiếp theo các bạn tạo thêm 1 folder raw trong res/ và thêm 1 file nhạc vào (mình thêm file tên là “music_flie.mp3”) 4/ Trong file DacMedia.java các bạn viết code như sau: package com.dac.DacMedia; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.content.res.AssetFileDescriptor; import android.view.View; public class DacMedia extends Activity { private MediaPlayer mediaPlayer; private int playbackPosition=0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void doClick(View view) { switch(view.getId()) { case R.id.startPlayerBtn: try { playLocalAudio_UsingDescriptor(); } catch (Exception e) { e.printStackTrace(); } break; case R.id.pausePlayerBtn: if(mediaPlayer != null && mediaPlayer.isPlaying()) { playbackPosition = mediaPlayer.getCurrentPosition(); mediaPlayer.pause(); } break; case R.id.restartPlayerBtn: if(mediaPlayer != null && !mediaPlayer.isPlaying()) { mediaPlayer.seekTo(playbackPosition); mediaPlayer.start(); } break; case R.id.stopPlayerBtn: if(mediaPlayer != null) { mediaPlayer.stop(); playbackPosition = 0; } break; Lập trình Android – http://laptrinhdidong.vn Page 2 Trung tâm Tin học – ĐH KHTN } } private void playLocalAudio_UsingDescriptor() throws Exception { AssetFileDescriptor fileDesc = getResources().openRawResourceFd( R.raw.music_flie); if (fileDesc != null) { mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(fileDesc.getFileDescriptor(), fileDesc .getStartOffset(), fileDesc.getLength()); fileDesc.close(); mediaPlayer.prepare(); mediaPlayer.start(); } } @Override protected void onDestroy() { super.onDestroy(); killMediaPlayer(); } private void killMediaPlayer() { if(mediaPlayer!=null) { try { mediaPlayer.release(); } catch(Exception e) { e.printStackTrace(); } } } } Và khi debug các bạn có phần mềm nghe nhạc sau: Lập trình Android – http://laptrinhdidong.vn Page 3 Trung tâm Tin học – ĐH KHTN Mọi ý kiến đóng góp các bạn vui lòng gữi bài viết về forum: http://forum.laptrinhdidong.vn/ . Rất mong nhận được sự phản hồi của các bạn. Lập trình Android – http://laptrinhdidong.vn Page 4 . KHTN Nghe Nhạc trong Android Trong bài viết này mình sẽ tạo 1 ứng dụng nho nhỏ để nghe nhạc trên Virtual Device. Ứng dụng khá đơn giản, các bạn hoàn toàn có thể thêm vào các Project khác. Ứng dụng. android:id="@+id/pausePlayerBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Pause Player" android:onClick="doClick" /> <Button android:id="@+id/restartPlayerBtn" . android:id="@+id/restartPlayerBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Restart Player" android:onClick="doClick" /> <Button android:id="@+id/stopPlayerBtn"