Giới thiệu class android.media.MediaPlayer

Một phần của tài liệu Tìm hiểu lập trình mạng trên hệ điều hành Android. (Trang 57 - 62)

9. MULTIMEDIA

9.2.Giới thiệu class android.media.MediaPlayer

Sơ đồ dưới đây cho thấy các chu kỳ sống và các hàm chức năng được cài đặt sẵn trong lớp MediaPlayer để điều khiển việc phát các tập tin audio/video. Các hình bầu dục sẽ đại diện cho các trạng thái của các hàm chức năng trong lớp MediaPlayer. Có hai loại vòng cung, loại vòng cung với một mũi tên đại diện cho phương thức gọi đồng bộ, loại vòng cung với hai mũi tên đại diện cho phương thức gọi không đồng bộ.

Hình 2.28: Sơ đồ lớp android.media.MediaPlayer

Từ sơ đồ trạng thái trên người ta có thể thấy một đối tượng MediaPlayer có các trạng thái sau đây:

Idle Khi một đối tượng MediaPlayer được tạo mới hoặc sau khi gọi hàm reset() nó sẽ ở trạng thái Idle, đó là trạng thái rỗi.

Intialized Sau khi gọi hàm setDataSource() để thiết lập dữ liệu, thiết bị sẽ chuyển sang trạng thái khởi tạo.

Prepairing Trạng thái đang chuẩn bị. Gọi các hàm hệ thống để thiết bị chuyển sang trạng thái sẵn sàng phục vụ.

Prepaired Trạng thái đã được chuẩn bị. Thiết bị đã sẵn sàng phục vụ. Started Trạng thái bắt đầu thực hiện việc phát lại một tập tin media. Paused Trạng thái tạm dừng phát tập tin media.

Stopped Trạng thái dừng phát tập tin media. Playback

Completed

Hoàn thành việc phát lại tập tin media. Từ đây ta có thể thực hiện việc phát lại hoặc chuyển tới trạng thái dừng.

End Trạng thái kết thúc. Giải phóng các tài nguyên hệ thống phục vụ việc phát tập tin media.

Error Trạng thái lỗi.

Một số phương thức thường được sử dụng:

Giá trị trả về Tên phương thức chức năng static MediaPlayer

create(Context context, int resid)

Phương thức khởi tạo đối tượng MediaPlayer cho một tài nguyên nhất định.

static MediaPlayer

create(Context context, Uri uri)

Phương thức khởi tạo đối tượng MediaPlayer cho một Uri.

int

getAudioSessionId()

Trả về ID của phiên audio. Id sẽ là 0 nếu xảy ra lỗi.

int

getCurrentPosition()

Lấy về vị trí hiện tại khi đang phát tập tin media. Vị trí này cho ta biết phát tập tin media đã phát được bao nhiêu mili giây.

int

getDuration()

Lấy về tổng thời gian phát của tập tin media.

int

getVideoHeight()

Trả về chiều cao của tập tin video. Giá trị sẽ là 0 nếu không có tập tin video nào được thiết lập cho đối tượng MediaPlayer. (adsbygoogle = window.adsbygoogle || []).push({});

int

getVideoWidth()

Trả về chiều rộng của tập tin video. Giá trị sẽ là 0 nếu không có tập tin video nào được thiết lập cho đối tượng MediaPlayer.

boolean

isLooping()

Kiểm tra đối tượng MediaPlayer có đang được thiết lập vòng lặp hay không.

boolean

isPlaying()

Kiểm tra đối tượng MediaPlayer có đang được phát hay không.

void

pause()

void

prepare()

Chuẩn bị, đồng bộ thiết bị để thực hiện phát tập tin media.

void

prepareAsync()

Chuẩn bị, đồng bộ thiết bị để thực hiện phát tập tin media. Khi bạn gọi prepareAsync() việc phát tập tin media sẽ được phát mà không sử dụng bộ đệm.

void

release()

Giải phóng các nguyên của đối tượng MediaPlayer.

void

reset()

Khởi tạo lại đối tượng MediaPlayer.

void

seekTo(int msec)

Thực hiện phát tập tin media tại một vị trí thời gian mong muốn. Giá trị là 0 tại thời điểm bắt đầu phát.

void

setDataSource(String path) Thiết lập nguồn dữ liệu.

void setDataSource(Context context, Uri uri)

Thiết lập nguồn dữ liệu gồm: bối cảnh phát lại, và địa chỉ URI của nguồn dữ liệu (adsbygoogle = window.adsbygoogle || []).push({});

void

setLooping(boolean looping)

Thiết lập việc phát lặp lại hay không lặp lại.

void setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChan gedListener listener)

void

setVolume(float leftVolume, float rightVolume) Thiết lập âm lượng cho thiết bị.

void

start()

Bắt đầu phát hoặc tiếp tục phát sau khi dừng.

void

stop()

Dừng phát tập tin media.

Một phần của tài liệu Tìm hiểu lập trình mạng trên hệ điều hành Android. (Trang 57 - 62)