CorePlayer một chương trình được xây dựng theo cấu trúc khá hay
1- THỨ NHẤT: mọi chữ hiển thị đều thông qua khai báo biến
Các biến này sẽ được định nghĩa trong các file "lang_xx.txt" tương ứng của một ngôn ngữ
(ví dụ trong tiếng Anh - định nghĩa MENU0100=Menu
thì trong tiếng Việt - Caohieu88 định nghĩa MENU0100=Danh Mục)
Tất cả đều nằm trong file \private\20012FA6\lang.zip
Sau này khi chạy chương trình chỉ cần cho biết chương trình phải tham khảo các file ngôn ngữ nào để truy tìm nội dung các biến để hiển thị ngôn ngữ cho đúng theo yêu cầu và việc chuyển đổi ngôn ngữ kiểu này rất nhanh lẹ và linh động mà không cần phải rắc rối cầu kỳ chứ kiểu sử dụng file resource cổ điển là phải install (hoặc tự copy) lại để đè các files rsc/r10/r.... mỗi khi muốn chuyển đổi ngôn ngữ...
2- THỨ HAI: Rất thú vị là giao diện cũng theo cấu trúc khai báo các biến rất linh hoạt như trên
(cái này cũng thấy trong valkman 2.0)
Đó là việc hiển thị các cửa sổ, danh mục, các hình ảnh, các nút bấm,... cũng như các lệnh sẽ thực thi khi "chọt" vào "cái gì đó" trên màn hình... Tất tần tật đều được định nghĩa trong một file theo cấu trúc XML
Nếu các bạn có thời giờ, lòng kiên trì, dò đọc các dòng trong file XML là các bạn hoàn toàn có thể định nghĩa mọi thứ trên giao diện để cho ra một cái màn hình coreplayer độc nhất vô nhị của riêng bạn.
tất cả đều nằm trong file \private\20012FA6\skin.cps
File này chẳng qua cũng chỉ là file ZIP được đổi đuôi mà thôi.
Nếu bung file này ra (đổi cps thành zip rồi bung bình thường)
thì sẽ mấy một trăm mấy chục file hình (.bmp và .png) và MỘT file skin.xml
Dùng wordpad mở file skin.xml này ra bạn sẽ thấy các dòng lệnh định nghĩa các biến với nội dung tham chiếu và chức năng cũng như vị trí của các cửa sổ, danh mục, các hình ảnh, các nút bấm......
- Nếu bạn không quan tâm vị trí của các "objects" (objects = đại diện cho "bất kỳ một cái gì đó" trên giao diện màn hình) mà chỉ muốn thay đổi hình ảnh của nó thì bạn thay các file .bmp / .png
- Còn nếu bạn muốn thay đổi vị trí thì tìm trong file .xml thay đổi lại vị trí. (Bước đầu là dò xem các file bmp/png - lấy tên file rồi "Ctr+F" tìm trong xml để lấy phần khai báo tên biến - rồi tìm tiếp theo tên biến để lấy chỗ khai báo vị trí rồi .....).
- Còn nếu bạn muốn có một cái coreplayer độc nhất vô nhị thì chịu khó đọc xml vậy - bạn vào trang chủ của coreplayer tìm download file "CP_Universal_Skins_Guide_rev_6.doc" trong đó có hướng dẫn đầy đủ về cấu trúc file XML dành cho coreplayer.
....
Tái bút:
- Mình vì quá bận nên không thể tìm hiểu sâu để chỉ chi tiết hơn cho các bạn và vả lại vì quá ẹ về mặt mỹ thuật nên cũng không dám làm cái skin nào.
Mà làm một cái skin là cả một nghệ thuật và tiêu tốn rất nhiều mồ hôi (đang mùa nóng mà lị) và nước mắt (căng mắt ra mà đọc mà nhìn mà chỉnh làm sao không chảy nước mắt cho được) - con đường chông gai này chỉ dành cho nhứng người có thời gian và lòng đam mê vô hạn - đúng không các bạn ?