Lớp Mediaplayer Trong Lập Trình Android

Thảo luận trong 'Học tập' bởi nuongitq, 19/2/2016.

  1. nuongitq

    nuongitq Thành viên đạt chuẩn

    Tham gia:
    5/8/2014
    Bài viết:
    73
    Đã được thích:
    8
    Điểm thành tích:
    8
    Dưới đây, chúng ta sẽ nhìn thấy một vi dụ đơn giản để chơi file audio. Trong bài học lập trình android này, chúng ta sẽ xem ví dụ để điều khiển audio playback như start, stop, ... .

    • Lớp MediaPlayer: Lớp android.media.MediaPlayer là được sử dụng để điều kiển những tâp tin như audio hoặc video.
    • Phương thức của lớp MediaPlayer: Có rất nhiều phương thức của lớp MediaPlayer. Một số chúng được liệt kê dưới đây:
    Phương thức Mô tả
    public void setDataSource(String path) bộ nguồn dữ liệu (đường dẫn file hoặc http url) để sử dụng.
    public void prepare() chuẩn bị các cầu thủ để phát lại đồng bộ.
    public void start() bắt đầu hoặc tiếp tục lại phát lại.
    public void stop() dừng phát lại.
    public void pause() tạm dừng phát lại.
    public boolean isPlaying() kiểm tra nếu máy nghe nhạc phương tiện truyền thông đang phát.
    public void seekTo(int millis) tìm cách thời gian quy định trong mili giây.
    public void setLooping(boolean looping) đặt máy trong vòng lặp hoặc không lặp.
    public boolean isLooping() kiểm tra nếu người chơi được lặp hoặc không lặp.
    public void selectTrack(int index) chọn một ca khúc cho các chỉ số xác định.
    public int getCurrentPosition() trả về vị trí phát hiện.
    public int getDuration() trả về thời gian của tập tin.
    public void setVolume(float leftVolume,float rightVolume) đặt âm lượng trên máy nghe nhạc này.

    Khoa hoc lap trinh android cơ bản nâng cao tại VietPro!

    Lớp Activity
    Chúng ta hãy viết mã để chơi các tập tin âm thanh. Ở đây, chúng ta đang đi chơi maine.mp3 tập tin nằm trong thư mục sdcard/Music.
    Code:
    package com.example.audiomediaplayer1;[/SIZE][/COLOR][/FONT]
    [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.media.MediaPlayer;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.net.Uri;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.os.Bundle;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.app.Activity;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.view.Menu;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.widget.MediaController;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.widget.VideoView;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]public class MainActivity extends Activity {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]protected void onCreate(Bundle savedInstanceState) {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]super.onCreate(savedInstanceState);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]setContentView(R.layout.activity_main);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]MediaPlayer mp=new MediaPlayer();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]try{[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.setDataSource("/sdcard/Music/maine.mp3");//Write your location here[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.prepare();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.start();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}catch(Exception e){e.printStackTrace();}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]public boolean onCreateOptionsMenu(Menu menu) {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]// Inflate the menu; this adds items to the action bar if it is present.[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]getMenuInflater().inflate(R.menu.activity_main, menu);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]return true;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}



    Bạn cần chạy với thiết bị thật để kiểm tra ứng dụng.
    Android MediaPlayer là loại điều khiển audio. Hãy xem một ví dụ đơn giản để bắt đầu, dừng lại và tạm dừng chơi âm thanh. Kéo ba nút từ pallete để bắt đầu, dừng lại và tạm dừng chơi âm thanh. Bây giờ các tập tin xml sẽ giống như thế này:

    File: MainActivity.java

    Code:
    <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"[/SIZE][/COLOR][/FONT]
    [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)]xmlns:tools="http://schemas.android.com/tools"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_width="match_parent"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_height="match_parent"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:paddingBottom="@dimen/activity_vertical_margin"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:paddingLeft="@dimen/activity_horizontal_margin"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:paddingRight="@dimen/activity_horizontal_margin"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:paddingTop="@dimen/activity_vertical_margin"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]tools:context=".MainActivity" >[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]<TextView[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:id="@+id/textView1"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_width="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_height="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_alignParentTop="true"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_marginTop="30dp"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:text="Audio Controller" />[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]<Button[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:id="@+id/button1"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]style="?android:attr/buttonStyleSmall"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_width="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_height="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_alignLeft="@+id/textView1"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_below="@+id/textView1"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_marginTop="48dp"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:text="start" />[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]<Button[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:id="@+id/button2"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]style="?android:attr/buttonStyleSmall"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_width="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_height="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_alignTop="@+id/button1"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_toRightOf="@+id/button1"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:text="pause" />[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]<Button[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:id="@+id/button3"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]style="?android:attr/buttonStyleSmall"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_width="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_height="wrap_content"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_alignTop="@+id/button2"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:layout_toRightOf="@+id/button2"[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]android:text="stop" />[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]</RelativeLayout>


    Lớp Activity
    Chúng ta hãy viết mã để bắt đầu, tạm dừng và dừng các máy nghe nhạc.
    Code:
    package com.example.audioplay;[/SIZE][/COLOR][/FONT]
    [SIZE=4][FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.media.MediaPlayer;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.os.Bundle;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.os.Environment;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.app.Activity;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.view.Menu;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.view.View;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.view.View.OnClickListener;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]import android.widget.Button;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]public class MainActivity extends Activity {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]Button start,pause,stop;[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]protected void onCreate(Bundle savedInstanceState) {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]super.onCreate(savedInstanceState);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]setContentView(R.layout.activity_main);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]start=(Button)findViewById(R.id.button1);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]pause=(Button)findViewById(R.id.button2);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]stop=(Button)findViewById(R.id.button3);[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]//creating media player[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]final MediaPlayer mp=new MediaPlayer();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]try{[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]//you can change the path, here path is external directory(e.g. sdcard) /Music/maine.mp3[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Music/maine.mp3");[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.prepare();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}catch(Exception e){e.printStackTrace();}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)][/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]start.setOnClickListener(new OnClickListener() {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]public void onClick(View v) {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.start();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]});[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]pause.setOnClickListener(new OnClickListener() {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]public void onClick(View v) {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.pause();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]});[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]stop.setOnClickListener(new OnClickListener() {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]@Override[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]public void onClick(View v) {[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]mp.stop();[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]});[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}[/COLOR][/FONT]
    [FONT=Georgia][COLOR=rgb(46, 46, 46)]}


    Kết quả:
    [​IMG]



    ----------------------- || -----------------------
    Nguồn: Media Player trong lập trình Android
     

    Xem thêm các chủ đề tạo bởi nuongitq
    Đang tải...


Chia sẻ trang này