Total Pageviews

Google Ads

Saturday, October 29, 2011

Multimedia in J2ME

Đặc điểm của Mobile Multimedia APIs (MMAPI)
- Support for Tone Generation, playback, recording of time-base media: gói này hỗ trợ nội dung video hoặc audio theo thời gian.
- Small Footprint: MMAPI làm việc với những bộ nhớ nhỏ và giới hạn của các thiết bị sử dụng CLDC
- Protocol and Content-Agnostic: MMAPI không "ngại" bất cứ loại nội dung hay protocol (phương thức truyền thông) nào.
-Subsettable : Lập trình viên có thể giới hạn lại loại nội dung mà mình hỗ trợ.
-Extensible : Một tính năng, đặc trưng mới có thể được thêm vào một cách dễ dàng mà không phá hỏng đi những gì đã làm được trước đó. Quan trọng hơn những định dạng thêm vào được hỗ trợ một cách dễ dàng và có một framework là nơi để bạn thêm những controls mới.
-Optional for Implementers: APIs cung cấp nhiều tính năng cho nheiefu mục đích. API được thiết kế cho phép thực hiện việc ẩn một số tính năng không thực thi nếu nó không được hỗ trợ.



Multimedia Processing:
Có 2 phần việc cần phải thực hiện trong Multimedia Processing:

- Protocol Handling (Điều khiển phương thức của luồng dữ liệu): đọc data từ source (file or server stream) và đưa nó vào hệ thống xử lý
- Content Handling : Phân tích cú pháp hoặc giải mã dữ liệu rồi rending nó tới thiết bị output (audio or screen).

Để tạo điều kiện thuận lợi cho việc xử lý, API cung cấp 2 đối tượng ở mức cao :
- DataSource : Đóng gói việc xử lý protocol bằng cách ẩn đi phần bên dưới (làm việc như thế nào, đọc ra sao ...). Phương thức này đọc dữ liệu lên để hỗ trợ đối tượng Player xử lý nội dung.
- Player : Đọc dữ liệu từ DataSource, xử lý nó và chuyển nó tới các thiết bị ouput. Đối tượng này cung cấp những phương thức để điều khiển quá trình play của media bao gồm cả phương thức cho từng loại control cụ thể để điều khiển những đặc điểm của từng loại media cụ thể.

MMAPIs quy định  thêm một đối tượng thứ 3 được gọi là Manager, Đối tượng này cho phép chúng ta có thể khởi tạo đc một Players từ DataSources,và từ InputStreams. Đối tượng này bao phủ lên toàn bộ MMAPI như hình


Lớp đối tượng Manager cung cấp phương thức createPlayer(), Nó là điểm cao nhất trong APIs. Ví dụ

...
Player player = Manager.createPlayer(String url);
...

 url đặc trưng cho protocol và nội dung, Sử dụng format <protocol> : <content location>.

Ứng dụng sử dụng phương thức của kết quả trả về từ Player để điều khiển việc thu hồi và phát nhạc dựa trên thời gian.

Vòng đời của một Players đi qua 5 trạng thái : UNREALIZED, REALIZED, PREFETCHED, STARTED và CLOSED. 6 phương thức ứng với 5 trạng thái trên:

realize()
prefetch()
start()
stop()
deallocate()
close()

Khi một palyer được tạo ra, nó sẽ ở trạng thái UNREALIZED
realize():gọi hàm realize() để chuyển nó về trạng thái REALIZED và khởi tạo những thông tin về player cần có được media resource. 
prefetch():Gọi hàm prefetch() để chuyển nó về trạng thái PREFETCHED, tạo ra một kết nối tới dòng dữ liệu (streaming data) và thực hiện những việc khởi tạo khác.
start(): Gọi hàm start() để chuyển sang trạng thái STARTED, Khi player đã có thể xxử lý dữ liệu. Khi kết thúc quá trình xử lý (kết thúc media stream chẳng hạn) nó sẽ trả về trạng thái PREFETCHED. 
Close(): Gọi hàm close() để chuyển player về trạng thái CLOSE().
Player cung cấp những công cụ điều khiển đặc trưng cho từng loại media mà nó xử lý. Ứng dụng sử dụng hàm getControl() để lấy 1 control hoặc sử dụng getControls() để lấy ra một mảng các control. Ví dụ. Nếu player chạy một MIDI media gọi  getControl() thì nó sẽ nhận được một MIDIControl.
The MMAPI Packages
le 1: MMAPI Classes

Package Class Description
javax.microedition.media Manager Access point for obtaining system-dependent resources, such as Players for multimedia processing
javax.microedition.media.protocol ContentDescriptor Describes media-type containers
javax.microedition.media.protocol DataSource Represents an abstraction for media protocol handlers by hiding the details of how the data is read from a media file or a streaming server; provides methods for the Player to access the input data



No comments:

Post a Comment