Video Conference
Nội dung <ul><li>Bắt đầu </li></ul><ul><ul><li>Cài đặt phần cứng và phần mềm </li></ul></ul><ul><ul><li>Tạo môi trường phá...
Nội dung <ul><li>Kiến trúc Flash Media Server (FMS) </li></ul><ul><ul><li>Kiến trúc FMS </li></ul></ul><ul><ul><li>Luồng (...
Nội dung <ul><li>Sử dụng các lớp Media </li></ul><ul><ul><li>Các lớp FMS </li></ul></ul><ul><ul><li>Lớp Application </li><...
Nội dung <ul><li>Dự án hiện tại (abvChat) </li></ul><ul><ul><li>Sơ lược dự án </li></ul></ul><ul><ul><li>Hiện thực </li></...
Bắt đầu <ul><li>Mục đích:  </li></ul><ul><ul><li>Giới thiệu các bước ban đầu trước khi phát triển ứng dụng với FMS. </li><...
Bắt đầu <ul><li>Tạo môi trường phát triển </li></ul><ul><ul><li>Bảo đảm server đang chạy </li></ul></ul><ul><ul><li>Xác đị...
Bắt đầu <ul><li>Tổng quát các tác vụ cho ứng dụng </li></ul><ul><ul><li>1. Xác định tên ứng dụng và đăng ký ứng dụng với s...
Kiến trúc Flash Media Server (FMS) <ul><li>Kiến trúc FMS </li></ul><ul><ul><li>HTTP </li></ul></ul><ul><ul><li>RTMP (Real ...
Kiến trúc Flash Media Server (FMS) <ul><li>Luồng (stream) và đối tượng chia sẻ (shared object) </li></ul><ul><ul><li>Strea...
Kiến trúc Flash Media Server (FMS) <ul><li>Luồng (stream) và đối tượng chia sẻ (shared object) </li></ul><ul><ul><li>Share...
Kiến trúc Flash Media Server (FMS) <ul><li>Kết nối tới nguồn dữ liệu bên ngoài </li></ul><ul><ul><li>Web service </li></ul...
Kiến trúc Flash Media Server (FMS) <ul><li>Workflow để tạo và triển khai ứng dụng </li></ul><ul><ul><li>Client component: ...
Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Dòng kết nối </li></ul></ul>
Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Gọi phương thức của server từ client </...
Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Gọi phương thức của client từ server </...
Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Dòng đối tượng chia sẻ </li></ul></ul>
Sử dụng các lớp Media <ul><li>Các lớp FMS </li></ul><ul><ul><li>Các lớp client-side </li></ul></ul><ul><ul><ul><li>Lớp Cam...
Sử dụng các lớp Media <ul><li>Lớp Application </li></ul><ul><ul><li>Chấp nhận và từ chối kết nối từ phía client </li></ul>...
Sử dụng các lớp Media <ul><li>Lớp Camera </li></ul><ul><ul><li>Lấy dữ liệu từ webcam để gắn vào đối tượng NetStream. Từ đâ...
Sử dụng các lớp Media <ul><li>Lớp Client </li></ul><ul><ul><li>Khi gắn một phương thức vào đối tượng Client bên phía serve...
Sử dụng các lớp Media <ul><li>Lớp Microphone </li></ul><ul><ul><li>Lấy dữ liệu từ microphone để gắn vào đối tượng NetStrea...
Sử dụng các lớp Media <ul><li>Lớp NetStream </li></ul><ul><ul><li>Chứa dữ liệu video, audio và có thể chứa nhiều loại dữ l...
Sử dụng các lớp Media <ul><li>Lớp SharedObject </li></ul><ul><ul><li>Đối tượng SharedObject được sử dụng để lưu giữ thông ...
Sử dụng các lớp Media <ul><li>Lớp Video </li></ul><ul><ul><li>Là một đối tượng đồ họa giúp hiển thị dữ liệu audio, video đ...
Dự án hiện tại: abvChat <ul><li>Sơ lược dự án </li></ul><ul><ul><li>Là một ứng dụng web thuần túy </li></ul></ul><ul><ul><...
Dự án hiện tại: abvChat <ul><li>Login: </li></ul>
Dự án hiện tại: abvChat <ul><li>Invite: </li></ul>
Dự án hiện tại: abvChat <ul><li>Chat </li></ul>
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía server </li></ul></ul><ul><ul><ul><li>ap...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>funct...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>funct...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>funct...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>nc. o...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>nc. s...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>funct...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>listL...
Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this....
Dự án hiện tại: abvChat <ul><li>Các chức năng đã hiện thực </li></ul><ul><ul><li>Đã nhận được webcam và microphone. </li><...
Dự án hiện tại: abvChat <ul><li>Các vấn đề còn tồn tại </li></ul><ul><ul><li>Điều chỉnh âm thanh và camera </li></ul></ul>...
Tham khảo <ul><li>Links: </li></ul><ul><ul><li>http://www.adobe.com/devnet/flashmediaserver/ </li></ul></ul><ul><ul><li>ht...
Upcoming SlideShare
Loading in...5
×

Videoconferencereport

572

Published on

Published in: Technology, Sports
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
572
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Videoconferencereport

  1. 1. Video Conference
  2. 2. Nội dung <ul><li>Bắt đầu </li></ul><ul><ul><li>Cài đặt phần cứng và phần mềm </li></ul></ul><ul><ul><li>Tạo môi trường phát triển </li></ul></ul><ul><ul><li>Tổng quát các tác vụ cho ứng dụng </li></ul></ul>
  3. 3. Nội dung <ul><li>Kiến trúc Flash Media Server (FMS) </li></ul><ul><ul><li>Kiến trúc FMS </li></ul></ul><ul><ul><li>Luồng (stream) và đối tượng chia sẻ (shared object) </li></ul></ul><ul><ul><li>Kết nối tới nguồn dữ liệu bên ngoài </li></ul></ul><ul><ul><li>Workflow để tạo và triển khai ứng dụng </li></ul></ul><ul><ul><li>Các dòng ứng dụng </li></ul></ul>
  4. 4. Nội dung <ul><li>Sử dụng các lớp Media </li></ul><ul><ul><li>Các lớp FMS </li></ul></ul><ul><ul><li>Lớp Application </li></ul></ul><ul><ul><li>Lớp Camera </li></ul></ul><ul><ul><li>Lớp Client </li></ul></ul><ul><ul><li>Lớp Microphone </li></ul></ul><ul><ul><li>Lớp NetStream </li></ul></ul><ul><ul><li>Lớp SharedObject </li></ul></ul><ul><ul><li>Lớp Video </li></ul></ul>
  5. 5. Nội dung <ul><li>Dự án hiện tại (abvChat) </li></ul><ul><ul><li>Sơ lược dự án </li></ul></ul><ul><ul><li>Hiện thực </li></ul></ul><ul><ul><li>Các vấn đề còn tồn tại </li></ul></ul>
  6. 6. Bắt đầu <ul><li>Mục đích: </li></ul><ul><ul><li>Giới thiệu các bước ban đầu trước khi phát triển ứng dụng với FMS. </li></ul></ul><ul><ul><li>Mô tả cách thiết lập môi trường phát triển và triển khai ứng dụng. </li></ul></ul><ul><li>Cài đặt phần cứng và phần mềm </li></ul><ul><ul><li>Flash 8 Professional </li></ul></ul><ul><ul><li>Flash Media Server </li></ul></ul><ul><ul><li>Flash Player </li></ul></ul><ul><ul><li>Camera và Microphone </li></ul></ul>
  7. 7. Bắt đầu <ul><li>Tạo môi trường phát triển </li></ul><ul><ul><li>Bảo đảm server đang chạy </li></ul></ul><ul><ul><li>Xác định địa chỉ URI của server </li></ul></ul><ul><ul><ul><li>new_nc.connect(&quot;rtmp:/doc_record/room_01&quot;); </li></ul></ul></ul><ul><ul><ul><li>new_nc.connect(&quot;rtmp:// myServer.myDomain.com /doc_record/room_01&quot;); </li></ul></ul></ul><ul><ul><li>Chỉ định các dạng file để publish </li></ul></ul><ul><ul><li>Viết code Action Script client-side </li></ul></ul><ul><ul><li>Viết code Action Script server-side </li></ul></ul>
  8. 8. Bắt đầu <ul><li>Tổng quát các tác vụ cho ứng dụng </li></ul><ul><ul><li>1. Xác định tên ứng dụng và đăng ký ứng dụng với server: tạo thư mục với tên ứng dụng trong thư mục applications của FMS. </li></ul></ul><ul><ul><li>2. Tạo file FLA và chứa đoạn code sau: </li></ul></ul><ul><ul><ul><li>my_nc = new NetConnection(); </li></ul></ul></ul><ul><ul><ul><li>my_nc.connect(&quot;rtmp://myDomain.com/registered_app_name&quot;); </li></ul></ul></ul><ul><ul><li>3. Lưu file FLA. </li></ul></ul><ul><ul><li>4. Đặt file server-side Action Script (main.asc hoặc my_app.asc) vào thư mục đã đăng ký. </li></ul></ul><ul><ul><li>5. Publish SWF file. </li></ul></ul>
  9. 9. Kiến trúc Flash Media Server (FMS) <ul><li>Kiến trúc FMS </li></ul><ul><ul><li>HTTP </li></ul></ul><ul><ul><li>RTMP (Real Time Message Protocol) </li></ul></ul><ul><ul><li>Nhiều người dùng có thể kết nối đến cùng một ứng dụng trên server. </li></ul></ul>
  10. 10. Kiến trúc Flash Media Server (FMS) <ul><li>Luồng (stream) và đối tượng chia sẻ (shared object) </li></ul><ul><ul><li>Stream là một luồng các message dữ liệu, audio, video được đồng bộ theo thời gian. </li></ul></ul><ul><ul><li>Stream khi ghi sẽ lưu dưới định dạng file .FLV </li></ul></ul>
  11. 11. Kiến trúc Flash Media Server (FMS) <ul><li>Luồng (stream) và đối tượng chia sẻ (shared object) </li></ul><ul><ul><li>Shared Object: có 2 loại cơ bản: local và remote. </li></ul></ul><ul><ul><ul><li>Local shared object: dùng để chứa thông tin cục bộ và có thể lưu dữ liệu xuống máy tính người dùng. </li></ul></ul></ul><ul><ul><ul><li>Remote shared object: lưu thông tin chia sẻ giữa các client và có thể đồng bộ giữa các client. </li></ul></ul></ul>
  12. 12. Kiến trúc Flash Media Server (FMS) <ul><li>Kết nối tới nguồn dữ liệu bên ngoài </li></ul><ul><ul><li>Web service </li></ul></ul><ul><ul><li>Database </li></ul></ul><ul><ul><li>Các ứng dụng FMS khác </li></ul></ul>
  13. 13. Kiến trúc Flash Media Server (FMS) <ul><li>Workflow để tạo và triển khai ứng dụng </li></ul><ul><ul><li>Client component: chứa giao diện người dùng và Action Script để kết nối đến FMS. </li></ul></ul><ul><ul><li>Server component: có file ASC giúp điều khiển thông tin chia sẻ, logic tương tác giữa các client và giao tiếp với các tài nguyên bên ngoài. </li></ul></ul>
  14. 14. Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Dòng kết nối </li></ul></ul>
  15. 15. Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Gọi phương thức của server từ client </li></ul></ul>
  16. 16. Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Gọi phương thức của client từ server </li></ul></ul>
  17. 17. Kiến trúc Flash Media Server (FMS) <ul><li>Các dòng ứng dụng </li></ul><ul><ul><li>Dòng đối tượng chia sẻ </li></ul></ul>
  18. 18. Sử dụng các lớp Media <ul><li>Các lớp FMS </li></ul><ul><ul><li>Các lớp client-side </li></ul></ul><ul><ul><ul><li>Lớp Camera </li></ul></ul></ul><ul><ul><ul><li>Lớp Microphone </li></ul></ul></ul><ul><ul><ul><li>Lớp NetConnection </li></ul></ul></ul><ul><ul><ul><li>Lớp NetStream </li></ul></ul></ul><ul><ul><ul><li>Lớp SharedObject </li></ul></ul></ul><ul><ul><ul><li>Lớp Video </li></ul></ul></ul><ul><ul><li>Các lớp server-side </li></ul></ul><ul><ul><ul><li>Lớp Application </li></ul></ul></ul><ul><ul><ul><li>Lớp Client </li></ul></ul></ul><ul><ul><ul><li>Lớp File </li></ul></ul></ul><ul><ul><ul><li>Lớp LoadVars </li></ul></ul></ul><ul><ul><ul><li>Lớp NetConnection </li></ul></ul></ul><ul><ul><ul><li>Lớp SharedObject </li></ul></ul></ul><ul><ul><ul><li>Lớp Stream </li></ul></ul></ul><ul><ul><ul><li>Lớp WebSevice </li></ul></ul></ul><ul><ul><ul><li>Lớp XML </li></ul></ul></ul><ul><ul><ul><li>Lớp XMLSocket </li></ul></ul></ul><ul><ul><ul><li>Lớp XMLStreams </li></ul></ul></ul>
  19. 19. Sử dụng các lớp Media <ul><li>Lớp Application </li></ul><ul><ul><li>Chấp nhận và từ chối kết nối từ phía client </li></ul></ul><ul><ul><li>Tạo các hàm được gọi khi ứng dụng bắt đầu hoặc kết thúc, khi client kết nối hoặc ngắt kết nối. </li></ul></ul><ul><ul><li>Các phương thức cơ bản: </li></ul></ul><ul><ul><ul><li>application.onAppStart </li></ul></ul></ul><ul><ul><ul><li>application.onConnect </li></ul></ul></ul><ul><ul><ul><li>application.acceptConnection </li></ul></ul></ul><ul><ul><ul><li>applicaiton.rejectConnection </li></ul></ul></ul><ul><ul><ul><li>application.onDisconnect </li></ul></ul></ul>
  20. 20. Sử dụng các lớp Media <ul><li>Lớp Camera </li></ul><ul><ul><li>Lấy dữ liệu từ webcam để gắn vào đối tượng NetStream. Từ đây có thể truyền dữ liệu lên server và ghi dữ liệu. Ta cũng có thể thiết lập chất lượng cho webcam. </li></ul></ul><ul><ul><ul><ul><li>my_cam = Camera.get(); </li></ul></ul></ul></ul><ul><ul><ul><ul><li>my_cam.setQuality(bandwidthSpeed,quality) ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>nsOut = new NetStream(nc); </li></ul></ul></ul></ul><ul><ul><ul><ul><li>nsOut.attachVideo(my_cam); </li></ul></ul></ul></ul>
  21. 21. Sử dụng các lớp Media <ul><li>Lớp Client </li></ul><ul><ul><li>Khi gắn một phương thức vào đối tượng Client bên phía server, phương thức này sẽ được gọi tương ứng bên phía client. </li></ul></ul>
  22. 22. Sử dụng các lớp Media <ul><li>Lớp Microphone </li></ul><ul><ul><li>Lấy dữ liệu từ microphone để gắn vào đối tượng NetStream. Từ đây có thể truyền dữ liệu lên server và ghi dữ liệu. Ta cũng có thể thiết lập điều chỉnh cho microphone. </li></ul></ul><ul><ul><ul><li>myMic = Microphone.get(); </li></ul></ul></ul><ul><ul><ul><li>myMic.setRate(22); </li></ul></ul></ul><ul><ul><ul><li>nsOut = new NetStream(nc); </li></ul></ul></ul><ul><ul><ul><li>nsOut.attachAudio(myMic); </li></ul></ul></ul>
  23. 23. Sử dụng các lớp Media <ul><li>Lớp NetStream </li></ul><ul><ul><li>Chứa dữ liệu video, audio và có thể chứa nhiều loại dữ liệu khác. Dữ liệu này có thể được publish qua mạng, ghi xuống đĩa cứng, và ta có thể thiết lập thời gian buffer trước khi chơi. </li></ul></ul><ul><ul><ul><li>nsOut = new NetStream(nc); </li></ul></ul></ul><ul><ul><ul><li>nsOut.attachVideo(Camera.get()); </li></ul></ul></ul><ul><ul><ul><li>nsOut.attachAudio(Microphone.get()); </li></ul></ul></ul><ul><ul><ul><li>nsOut.publish(&quot;user&quot;+this.myID); </li></ul></ul></ul>
  24. 24. Sử dụng các lớp Media <ul><li>Lớp SharedObject </li></ul><ul><ul><li>Đối tượng SharedObject được sử dụng để lưu giữ thông tin chia sẻ giữa các client và server. </li></ul></ul><ul><ul><li>Phương thức để đồng bộ giữa các client. </li></ul></ul><ul><ul><ul><li>SharedObject.onSync </li></ul></ul></ul><ul><ul><li>Sử dụng các slot để lưu giữ thông tin chia sẻ. </li></ul></ul><ul><ul><ul><li>SharedObject.data </li></ul></ul></ul>
  25. 25. Sử dụng các lớp Media <ul><li>Lớp Video </li></ul><ul><ul><li>Là một đối tượng đồ họa giúp hiển thị dữ liệu audio, video đến người dùng. </li></ul></ul><ul><ul><ul><li>nsIn = new NetStream(nc); </li></ul></ul></ul><ul><ul><ul><li>yourVideo.attachVideo(nsIn); </li></ul></ul></ul>
  26. 26. Dự án hiện tại: abvChat <ul><li>Sơ lược dự án </li></ul><ul><ul><li>Là một ứng dụng web thuần túy </li></ul></ul><ul><ul><li>Có thể nhận được webcam </li></ul></ul><ul><ul><li>Người dùng có thể bắt đầu chát video mà không cần phải đăng ký (chỉ thông báo qua email cho người muốn chát) </li></ul></ul><ul><ul><li>Có thể điều chỉnh được âm thanh, camera </li></ul></ul><ul><ul><li>Có thể lưu được message video (âm thanh, hình ảnh) </li></ul></ul>
  27. 27. Dự án hiện tại: abvChat <ul><li>Login: </li></ul>
  28. 28. Dự án hiện tại: abvChat <ul><li>Invite: </li></ul>
  29. 29. Dự án hiện tại: abvChat <ul><li>Chat </li></ul>
  30. 30. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía server </li></ul></ul><ul><ul><ul><li>application. onAppStart = function(); </li></ul></ul></ul><ul><ul><ul><li>application. onConnect = function(client, name); </li></ul></ul></ul><ul><ul><ul><li>application. onDisconnect = function(client); </li></ul></ul></ul>
  31. 31. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>function showScreen (name) { </li></ul></ul><ul><ul><li>//Hiển thị các đối tượng giao diện đồ họa tương </li></ul></ul><ul><ul><li>//ứng với từng trạng thái của chương trình. Ở </li></ul></ul><ul><ul><li>//đây có 3 trạng thái: Login, Invite và Chat. </li></ul></ul><ul><ul><li>} </li></ul></ul>
  32. 32. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>function onActivate () { </li></ul></ul><ul><ul><li>//Thiết lập các giá trị cấu hình ban đầu như </li></ul></ul><ul><ul><li>//tên server sẽ kết nối đến, tên ứng dụng… </li></ul></ul><ul><ul><li>} </li></ul></ul>
  33. 33. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this. login_btn.onRelease = function() { </li></ul></ul><ul><ul><li>//Xử lí sự kiện nút nhấn Login | Stop | Logout </li></ul></ul><ul><ul><li>//Kết nối đến server nếu là nút Login, ngừng </li></ul></ul><ul><ul><li>//chát đồng bộ lại các client nếu là nút Stop và </li></ul></ul><ul><ul><li>//ngắt kết nối nếu là nút Logout </li></ul></ul><ul><ul><li>} </li></ul></ul>
  34. 34. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>function connectToFlashCom (bool) { </li></ul></ul><ul><ul><li>//Kết nối đến server nếu bool == true </li></ul></ul><ul><ul><li>//và ngắt kết nối đến server nếu bool == false </li></ul></ul><ul><ul><li>} </li></ul></ul>
  35. 35. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>nc. onStatus = function(info) { </li></ul></ul><ul><ul><li>//Xử lí sự kiện trả về của hàm </li></ul></ul><ul><ul><li>//kết nối đến server </li></ul></ul><ul><ul><li>} </li></ul></ul>
  36. 36. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>nc. setID = function(id) { </li></ul></ul><ul><ul><li>//Cập nhật lại ID cho client </li></ul></ul><ul><ul><li>//Hàm này được gọi bởi server </li></ul></ul><ul><ul><li>} </li></ul></ul>
  37. 37. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>function connectSO () { </li></ul></ul><ul><ul><li>//Kết nối đến đối tượng chia sẻ </li></ul></ul><ul><ul><li>} </li></ul></ul>
  38. 38. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this.so. onSync = function(list) { </li></ul></ul><ul><ul><li>//Hàm đồng bộ lại các client khi đối tượng </li></ul></ul><ul><ul><li>//chia sẻ có thay đổi (người dùng login hay </li></ul></ul><ul><ul><li>//logout) </li></ul></ul><ul><ul><li>} </li></ul></ul>
  39. 39. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this. updateList = function() { </li></ul></ul><ul><ul><li>//Hàm cập nhật lại danh sách các người dùng </li></ul></ul><ul><ul><li>//đang online </li></ul></ul><ul><ul><li>} </li></ul></ul>
  40. 40. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this. onSlotChanged = function(id) { </li></ul></ul><ul><ul><li>//Hàm xử lý đồng bộ khi trên đối tượng chia sẻ </li></ul></ul><ul><ul><li>//có một client nào đó thay đổi thuộc tính </li></ul></ul><ul><ul><li>} </li></ul></ul>
  41. 41. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this. onSlotDeleted = function(id) { </li></ul></ul><ul><ul><li>//Hàm xử lý đồng bộ khi trên đối tượng chia sẻ </li></ul></ul><ul><ul><li>//có một client nào đó Logout </li></ul></ul><ul><ul><li>} </li></ul></ul>
  42. 42. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this. invite_btn.onRelease = function() { </li></ul></ul><ul><ul><li>//Hàm xử lý sự kiện cho nút nhấn Invite </li></ul></ul><ul><ul><li>} </li></ul></ul>
  43. 43. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>listListener.change = function(evt_obj:Object) { </li></ul></ul><ul><ul><li>//Hàm xử lý sự kiện cho list các user </li></ul></ul><ul><ul><li>} </li></ul></ul>
  44. 44. Dự án hiện tại: abvChat <ul><li>Hiện thực: </li></ul><ul><ul><li>Các hàm bên phía client: </li></ul></ul><ul><ul><li>this. myrecord_btn.onRelease = function() { </li></ul></ul><ul><ul><li>//Hàm xử lý sự kiện cho nút nhấn record </li></ul></ul><ul><ul><li>} </li></ul></ul>
  45. 45. Dự án hiện tại: abvChat <ul><li>Các chức năng đã hiện thực </li></ul><ul><ul><li>Đã nhận được webcam và microphone. </li></ul></ul><ul><ul><li>Có thể chát video giữa 2 người </li></ul></ul>
  46. 46. Dự án hiện tại: abvChat <ul><li>Các vấn đề còn tồn tại </li></ul><ul><ul><li>Điều chỉnh âm thanh và camera </li></ul></ul><ul><ul><li>Ghi message video xuống đĩa </li></ul></ul><ul><ul><li>Gởi mail </li></ul></ul>
  47. 47. Tham khảo <ul><li>Links: </li></ul><ul><ul><li>http://www.adobe.com/devnet/flashmediaserver/ </li></ul></ul><ul><ul><li>http://livedocs.adobe.com/flex/201/langref/flash/net/FileFilter.html </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×