Xây dựng ứng dụng streaming video từ server

60 529 0
Xây dựng ứng dụng streaming video từ server

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiên cứu đồ án trung thực chưa sử dụng để bảo vệ học vị Mọi tham khảo cho việc thực đồ án, thông tin trích dẫn đồ án ghi rõ mục tài liệu tham khảo Đồ án tốt nghiệp thành từ nghiên cứu hoàn toàn thực tế sở số liệu thực tế thực hướng dẫn giáo viên hướng dẫn Sinh viên thực Triệu Thành Duy LỜI CẢM ƠN Trong năm gần với phát triển vượt trội khoa học kỹ thuật đặc biệt công nghệ thông tin, với ứng dụng công nghệ thông tin vào lĩnh vực góp phần to lớn cho nghiệp phát triển người Một lĩnh vực áp dụng máy thiết bị công nghệ vào giải toán thực tế Vì công nghệ thông tin nói chung thiết bị công nghệ nói riêng đóng góp nhiều lợi ích để nâng cao đời sống cho người Trong đợt đồ án tốt nghiệp em chọn đề tài “Xây dựng ứng dụng Streaming video từ Server” Chương trình sử dụng ngôn ngữ lập trình hướng đối tượng Java để cài đặt Trong trình thực đồ án tốt nghiệp em xin cám ơn cô giáo Nguyễn Lan Oanh định hướng hướng dẫn cho em hoàn thành đồ án tốt nghiệp Em xin gửi tới cô lời cảm ơn chân thành Mặc dù cố gắng trình nghiên cứu làm đề tài nhiều hạn chế thời gian trình độ nên đồ án em không tránh khỏi nhiều thiếu sót, nhiều vấn đề chưa giải hoàn chỉnh Vì vậy, em mong nhận ý kiến đóng góp thầy cô bạn để hoàn thiện phát triển đề tài Em xin chân thành cảm ơn! LỜI NÓI ĐẦU Tổng quan vấn đề nghiên cứu: - Đơn vị thực tại: Trường Đại học Công nghệ thông tin Truyền thông - Bối cảnh chung vấn đề nghiên cứu: Xây dựng ứng dụng cho hệ điều hành Android - Mô tả vấn đề nghiên cứu: Xây dựng ứng dụng Streaming video cho Android, ứng dụng đáp ứng yêu cầu nhỏ gọn, dễ sử dụng, giao diện đơn giản, thân thiện Có thể tải nghe audio video Lý chọn đề tài: - Lý chọn đề tài: Xây dựng ứng dụng phát video (Streaming Video) mà tải Xây dựng ứng dụng giúp việc tìm kiếm, lưu trữ nội dung video đơn giản hơn, số tính hữu ích khác - Tên đề tài: Xây dựng ứng dụng Streaming Video từ Server Mục tiêu nghiên cứu: - Nghiên cứu lý thuyết lập trình Java - Nghiên cứu lý thuyết hệ điều hành Android - Xây dựng ứng dụng Streaming Video từ Server Android MỤC LỤC LỜI CẢM ƠN LỜI NÓI ĐẦU .3 Tổng quan vấn đề nghiên cứu: Lý chọn đề tài: Mục tiêu nghiên cứu: .3 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .7 1.1 Giới thiệu Streaming Video .7 1.1.1 Streaming gì? 1.1.2 Live Streaming gì? 1.1.3 Streaming Video mang ý nghĩa gì? 1.1.4 Streaming Video mang tác dụng gì? 1.1.5 Streaming Video hoạt động nào? 1.1.6 Streaming với băng thông lưu trữ 1.2 Giới thiệu Jsoup Library .9 1.3 Tổng quan hệ điều hành Android 11 1.3.1 Khái niệm .11 1.3.2 Lịch sử phát triển 11 1.3.3 Đặc điểm 13 1.4 Kiến trúc thành phần Android 16 1.4.1 Kiến trúc tảng Android 16 1.4.2 Các thành phần Android 20 1.4.3 Hoạt động (Activity) .20 1.4.4 Service 23 1.4.5 Bộ nhận quảng bá (Broadcast receivers) 24 1.4.6 Content Provider 25 1.4.7 Các thành phần kích hoạt (các Intent) .26 1.4.8 View .28 1.4.9 Tập tin khai báo (manifest) .28 1.5 Công cụ hỗ trợ lập trình Android 29 1.5.1 Tổng quan .29 1.5.2 Tạo máy ảo android 30 CHƯƠNG 2: KHẢO SÁT, PHÂN TÍCH THIẾT KẾ HỆ THỐNG 32 2.1 Khảo sát nhu cầu 32 2.1.1 Thống kê số lượng người sử dụng Smartphone 32 2.1.2 Nhu cầu sử dụng Smartphone theo lĩnh vực 33 2.2 Phân tích yêu cầu chương trình 33 2.2.1 Đặt vấn đề: 33 2.2.2 Mô tả chức chính: 35 2.2.3 Các yêu cầu toán 35 2.2.4 Các yêu cầu chung ứng dụng 35 2.3 Xác định tác nhân chương trình 35 2.4 Xác định Use Case chương trình .36 2.5 Đặc tả chi tiết UC 37 2.5.1 UC khởi tạo ứng dụng 37 2.5.2 UC xem video .39 2.5.3 Use Case nghe audio .41 2.5.4 Use Case tìm kiếm video 43 2.5.5 UC gửi thông tin phản hồi .45 2.6 Biểu đồ Packages Classes 46 CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH 47 3.1 Yêu cầu xây dựng phần mềm 47 3.2 Xây dựng chương trình 47 3.3 Một số giao diện chương trình .48 3.3.1 Giao diện hình xem Video offline 48 3.3.2 Giao diện hình chuyển sang chết độ Online .50 3.3.3 Giao diện hình tìm kiếm 51 3.3.4 Giao diện hình danh sách videos theo từ khóa 52 3.3.5 Giao diện hình thông tin chi tiết video 54 3.3.6 Giao diện hình phát video 55 3.3.7 Giao diện hình phát Audio video .56 3.3.8 Giao diện hình tải video 57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58 Kết luận 58 Hướng phát triển .58 DANH MỤC TÀI LIỆU THAM KHẢO 59 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN .60 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu Streaming Video 1.1.1 Streaming gì? Streaming hay streaming media trình mà định dạng truyền thông (như âm thanh, hình ảnh) gửi tới người dùng hiển thị trình tải 1.1.2 Live Streaming gì? Đây thuật ngữ nói việc nội dung, liệu media thu lại, xử lý truyền tải trực tiếp qua mạng Internet tới người nhận thời điểm Dễ hình dung nhất, tưởng tượng tới trận bóng đá mà thường xuyên xem trực tiếp Youtube Đó live stream Vì kỹ thuật thực theo thời gian thực, nên tùy vào trường hợp, hệ thống server mà nhận liệu, video chạy thiết bị người dùng có độ trễ định so với tình thực tế xảy 1.1.3 Streaming Video mang ý nghĩa gì? Theo định nghĩa cách xác nhất, video streaming "dòng chảy" video Các thông tin, liệu đoạn video luân chuyển liên tục, đặn từ “nguồn” gửi tới “đích” thông qua mạng Internet 1.1.4 Streaming Video mang tác dụng gì? Công nghệ streaming trở nên ngày quan trọng với phát triển Internet, đa số người dùng đủ quyền hạn để tải nhanh tập tin media có dung lượng lớn Việc vừa tải vừa xem giúp cho người dùng tiết kiệm nhiều thời gian so với trước (phải tải toàn xem được) Điểm bật rõ ràng Streaming Video việc người dùng xem đoạn video clip, chí phim mà không cần phải download máy 1.1.5 Streaming Video hoạt động nào? Thực chất, Streaming Video việc chia nhỏ file media thành frame, sau gửi frame vào nhớ đệm máy tính hiển thị nội dung fame Trong người dùng sử dụng liệu tập tin frame tập tin khác tiếp tục tải Hình 1.0 Miêu tả hoạt động Streaming Video Ngày nay, video, mà tập tin âm thanh, trò chơi điện tử streaming Có thể nói, Streaming trở thành xu hướng phát triển nghành giải trí truyền thông mạng Internet 1.1.6 Streaming với băng thông lưu trữ Băng thông rộng tốc độ từ 2,5 Mbit /s trở lên khuyến khích cho việc streaming phim điện ảnh, ví dụ AppleTV, GoogleTV SonyTV Blu-ray Disc Player, vào khoảng 10 Mbit/s cho nội dung độ nét cao HD.Kết nối Unicast đòi hỏi nhiều kết nối từ streaming server, truyền nội dung Kích thước lưu trữ Streaming media tính băng thông để Streaming chiều dài tập tin Media, cách sử dụng công thức sau (cho người dùng tập tin): Kích thước lưu trữ (MB) = chiều dài (tính giây) × tỷ lệ bit (bit / s) / (8 × 1024 × 1024) Ví dụ thực tế: Một video mã hóa 300 kbit /s (đây băng thông video điển hình năm 2005 thường mã hóa 320 x 240 điểm ảnh) là: (3.600 s × 300.000 bit / s) / (8 × 1024 × 1024) yêu cầu dung lượng lưu trữ khoảng 128 MB Nếu tập tin lưu trữ máy chủ cho việc streaming theo yêu cầu xem 1.000 người lúc cách sử dụng giao thức Unicast, yêu cầu là: 300 kbit/s × 1000 = 300.000 kbit/s = 300 Mbit/s băng thông Điều tương đương với khoảng 135 GB cho Sử dụng giao thức Multicast server gửi luồng đơn(thông thường) cho tất người dùng Do đó, việc Stream sử dụng 300 kbit/s băng thông Việc tính toán để live streaming tương tự Giả định: tốc độ mã hóa 500 kbit/s Nếu chương trình kéo dài với 3.000 người xem, sau tính toán là: Số MBs chuyển = tốc độ mã hóa(bit/s) x số giây x số lượng người xem / (8 * 1024 * 1024) Số MBs chuyển = 500 x 1024 (bit/s) × × 3600 (= giờ) × 3.000 (nbr người xem) / (8 * 1024 * 1024) = 1.977.539 MB Âm stream nén cách sử dụng định dạng âm MP3, Vorbis AAC.Hình ảnh video stream nén cách sử dụng codec video H.264 VP8 Mã hóa âm video stream nhúng gói bitstream FLV, WebM, ASF ISMA Bitstream phân phối từ streaming server tới streaming client cách sử dụng giao thức truyền tải, ví dụ MMS RTP.Các streaming client tương tác với streaming server cách sử dụng giao thức kiểm soát, chẳng hạn MMS RTSP 1.2 Giới thiệu Jsoup Library Jsoup thư viện java để giúp trích xuất thao tác HMTL file Sử dụng thư viện phân tích trang HTML vào Android.Có vài tình muôn phân tích trích xuất vài thông tin từ trang HTML thay thể toàn Trong trường hợp sử dụng Jsoup, với API mạnh mẽ dễ dàng cho việc sử dụng tích hợp vào project Android Trong viết thảo luận làm setup sử dụng Jsoup , để trích xuất vài thông tin Giới thiệu Jsoup: Như nói Jsoup thư viện Java để cung câp API cho việc trích xuất thao tác file HTML Có vài phương thức cho việc đọc phân tích trang HTML , trường hợp chúng ta, muốn lấy vài thông tin từ trang HTML server xa phải cung cấp URL Nếu muốn phân tích trang DOM, có: Document doc = Jsoup.connect(URL).get(); doc biến thuộc class Document để lưu trữ tài liệu lấy Bây có Document tự trích xuất thông tin Chúng ta lấy title thông tin khác sử dụng Tag HTML Cho ví dụ, muốn lấy tất tag có tên meta : Elements metaElems = doc.select("meta"); Phương thức select sử dụng muốn lấy tag sử dụng truy vấn CSS Cho ví dụ, muốn lấy giá trị thuộc tính từ tag : String name = metaElem.attr("name"); “name” tên thuộc tính Hơn nữa, Chúng ta lựa chọn tất thành phần trang HTML có giá trị CSS xác định Cho ví dụ, website có vài thành phần có class CSS tên “topic" , chúng tao có Elements topicList = doc.select("h2.topic"); Thiết lập project tích hợp Jsoup: Đầu tiên cần làm tạo project Android có chứa Activity đơn giản Tôi giả sử bạn sử dụng Android Studio phát triển ứng dụng Android Khi bạn tạo project android, bạn phải add Jsoup dependency libary Vậy mở file build.gradle add thêm dependency libary bên compile 'org.jsoup:jsoup:1.7.3' Vậy có : Default dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' compile 'org.jsoup:jsoup:1.7.3' } 10 2.6 Biểu đồ Packages Classes Hình 2.14 Biểu dồ Package ứng dụng Hình 2.15 Biểu đồ lớp ứng dụng 46 CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT CHƯƠNG TRÌNH 3.1 Yêu cầu xây dựng phần mềm Để xây dựng lập trình phần mềm yêu cầu tối thiểu cần có: - Bộ JDK( Java SE Development Kit –JDK ) : môi trường phát triển ứng dựng ngôn ngữ Java - Công cụ lập trình Eclipse Android Studio xem công cụ hỗ trợ tốt việc lập trình ứng dụng Android Ngoài sử dụng Android tools - cho lập trình android khác - Bộ Android SDK (Software Development Kit) chứa phiên Android, hàm API cần thiết công cụ hỗ trợ lập trình khác JDK (Java Development Kit) dùng để tạo môi trường thực thi máy ảo cho hệ điều hành mà sử dụng Phần mềm sau lập trình xong, để chạy chương trình ta cần có điện thoại smarth phone hệ điều hành Android, có thẻ chạy máy ảo 3.2 Xây dựng chương trình Chương trình bao gồm: - Phần giao diện: sử dụng xml để xây dựng - Phần source code xử lý: viết ngôn ngữ Java đóng gọn vào cáo package:.adapter,.database, utlis, myapp - Dữ liệu (database): nguồn phim lấy trang Youtube thông qua tài việc bóc tách mã nguồn tệp tin HTML 47 3.3 Một số giao diện chương trình 3.3.1 Giao diện hình xem Video offline Hình 3.1 Giao diện xem video offline 48 Hình 3.2 Giao diện xem video offline Mô tả chức xem Video Offline - Người sử dụng vào ứng dụng, Ứng dụng kiểm tra kết nội mạng Nếu mạng chuyển sang chức xem video lưu máy - Người sử dụng thực thao tác chạm vào Floating Action Button có hình mũi tên trỏ lên để sang chế độ Online Khi người dùng kích vào nút ứng dụng kiểm tra lại tình trạng mạng Nếu có mạng sang chế độ Online, ngược lại thông báo cho người dùng 49 3.3.2 Giao diện hình chuyển sang chết độ Online Hình 3.3 Giao diện chế độ Online Mô tả chức xem Video Online: - Người sử dụng bấm vào biểu tượng hình kính lúp để tìm kiếm Video - Người sử dụng bấm vào nút hình mũi tên trỏ xuống để quay chế độ Offline để xem video tải máy 50 3.3.3 Giao diện hình tìm kiếm Hình 3.4 Giao diện ứng dụng - Người dùng nhập từ khóa tìm kiếm vào ô tìm kiếm tích biểu tượng tìm kiếm bàn phím - Giao diện chuyển sang hình danh sách videos 51 3.3.4 Giao diện hình danh sách video theo từ khóa Hình 3.5 Giao diện chức hiển thị danh sách video theo từ khóa 52 Hình 3.6 Giao diện danh sách video theo từ khóa - Danh sách video hiển thị - Người dùng lựa chọn video muốn xem tích vào danh sách - Màn hình chuyển sang hình chi tiết video 53 3.3.5 Giao diện hình thông tin chi tiết video Hình 3.7 Giao diện hình chi tiết video - Màn hình chi tiết video - Trên toolbar người dùng chọn độ phân giải video - Người dùng tích vào biểu tượng tai nghe để chọn tùy chọn phát audio video - Người dùng chọn biểu tượng tải xuống để tải xuống video - Người dùng chọn nút play video để phát video 54 3.3.6 Giao diện hình phát video Hình 3.8 Giao diện hình phát video Hình 3.9 Giao diện hình phát video - Màn hình phát video - Người sử dụng tua nhanh video - Người sử dụng chọn nút pause để tạm dừng video - Người sử dụng sử dụng nút xoay để xoay chế độ dọc ngang 55 3.3.7 Giao diện hình phát Audio video Hình 3.10 Giao diện phát audio video - Giao diện nghe audio sử dụng Notification Widget android, thành phần ImageView, TextView để render - Người sử dụng bấm nút X để tắt trình phát audio - Người sử dụng bấm nút || để tạm dừng phát audio 56 3.3.8 Giao diện hình tải video Hình 3.11 Giao diện download video - Giao diện Download sử dụng Notification Widget android, thành phần ImageView, TextView để render - Người sử dụng vuốt sang cạnh hình để hủy bỏ trình tải 57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết luận Đề tài thực việc xem video, download, chạy video dạng ẩn Ngoài ra, chương trình thông báo công báo thông tin qua giao diện chương trình, qua Widget, qua Notifications Hướng phát triển - Phát triển ứng dụng Streaming Video từ nhiều nguồn khác Người dùng tự chủ động chọn nguồn phát - Trong thời gian tiếp theo, em cố gắng phát triển chức tìm kiếm channel, upload user, danh sách yêu thích v v, cải thiện chức hoạt động hiệu Ngoài nâng cấp mặt giao diện dễ sử dụng hơn, có tính thẩm mỹ 58 DANH MỤC TÀI LIỆU THAM KHẢO [1] Đặng Văn Đức, Phân tích thiết kế hướng đối tượng với UML, NXB Giáo dục, 2002 [2] Ian Lloyd, The Ultimate HTML Reference, SitePoint, 2008 [3] Marko Gargenta, Learning Android, O'Reilly Media, 2011 [4] Jonathan Simon, Head First Android Development, O’Reilly Media, 2011 [5] Jon Westfall Rocco Augusto Grant Allen, Beginning Android Web Apps Development, Apress, 2012 [6] Mark L Murphy, Beginning Android, Apress , 2010 59 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 60 [...]... cấp truy cập đến điều khiển bản đồ sẵn trong Android từ ứng dụng được xây dựng Bao gồm cả lớp MapView cũng như Overlay và MapController để tương tác với bản đồ bên trong ứng dụng  android.app: Một gói thư viện bậc cao, cung cấp truy cập đến dữ liệu của ứng dụng Gói ứng dụng cũng bao gồm lớp Activity và Service là thành phần cơ bản của mọi ứng dụng Android  android.provider: Để tạo thuận lợi cho người... sẻ dữ liệu giữa các ứng dụng  Resource Manager: Hỗ trợ các thành phần không thuộc mã nguồn như là chuỗi ký tự, đồ họa được đặt bên ngoài Ứng dụng Hình 1.4: Các ứng dụng trên Android Đây là lớp trên cùng của kiến trúc nền tảng Android Android sẽ hoạt động với một bộ các ứng dụng bao gồm ứng dụng thư điện tử, gửi tin nhắn, lịch, bản đồ, trình duyệt web, danh bạ v.v… Tất cả các ứng dụng được viết bằng... Chúng được xây dựng để truy cập như nhau tới một loạt các ứng dụng và dịch vụ của điện thoại Với các thiết bị được xây dựng trên nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích  Phá vỡ rào cản phát triển ứng dụng Android... sử dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường di động Android là một mã nguồn mở, nó có thể được mở rộng để kết hợp tự do giữa các công nghệ nổi trội Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng phát triển để tạo ra các ứng dụng di động hoàn hảo 13  Tính ngang hàng của các ứng dụng Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản với ứng dụng. .. Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dùng Android được xây dựng trên... Các ứng dụng này có thể được cung cấp sẵn hoặc được phát triển bởi những lập trình viên 1.4.2 Các thành phần của Android Một ứng dụng trên Android được cấu thành từ bốn thành phần cơ bản sau:  Activities (hoạt động)  Services  Broadcast Receivers  Content Provider Các thành phần này không nhất thiết phải có mặt đầy đủ trong ứng dụng Chúng ta có thể xem các thành phần nào được sử dụng trong ứng dụng. .. video dưới nền, tắt màn hình điện thoại âm thanh vẫn được phát 2.2.4 Các yêu cầu chung của ứng dụng - Yêu cầu phi chức năng:  Giao diện thân thiện, dễ sử dụng  Truy cập các chức năng tiện lợi, thời gian đáp ứng nhanh - Yêu cầu chức năng:  Thực hiện đầy đủ các yêu cầu bài toàn đưa ra, có nâng cấp chỉnh sửa để đáp ứng nhu cầu người sử dụng 2.3 Xác định các tác nhân của chương trình Ứng dụng được xây. .. thể được điều chỉnh bởi người sử dụng bất cứ lúc nào Chỉ có các ứng dụng biên dịch cho Android M của mình bằng cách sử dụng SDK sẽ sử dụng khuôn khổ cho phép mới, trong khi tất cả các ứng dụng khác sẽ tiếp tục sử dụng các mô hình cấp phép trước đó Android "M" có hỗ trợ nhận dạng vân tay, cho phép sử dụng dấu vân tay để mở khóa thiết bị và chứng thực Play Store và Android Pay mua hàng; một tiêu chuẩn API... có nguồn gốc từ mã hệ thống, ví dụ thông báo thay đổi múi giờ, pin yếu, ảnh đã chụp hay thay đổi ngôn ngữ Các ứng dụng có thể khởi động quảng bá, ví dụ để các ứng dụng khác biết rằng dữ liệu đã được tải về xong trên thiết bị và sẵn sàng sử dụng 24 Một ứng dụng có thể có bất kỳ số lượng bộ nhận quảng bá nào để nhận những thông báo quan trọng với nó Tất cả các bộ nhận quảng bá được kế thừa từ lớp BroadcastReceiver... loại phép, và các ứng dụng không còn tự động cấp tất cả các điều khoản được quy định tại thời điểm cài đặt Một hệ thống opt-in hiện đang được sử dụng, trong đó người dùng sẽ được nhắc để chấp nhận hoặc từ chối quyền cá nhân đến một ứng dụng khi cần thiết, chẳng hạn như truy cập vào camera hay microphone Ứng dụng ghi nhớ tài trợ cho phép của họ, và họ có thể được điều chỉnh bởi người sử dụng bất cứ lúc ... tài: Xây dựng ứng dụng Streaming Video từ Server Mục tiêu nghiên cứu: - Nghiên cứu lý thuyết lập trình Java - Nghiên cứu lý thuyết hệ điều hành Android - Xây dựng ứng dụng Streaming Video từ Server. .. vấn đề nghiên cứu: Xây dựng ứng dụng cho hệ điều hành Android - Mô tả vấn đề nghiên cứu: Xây dựng ứng dụng Streaming video cho Android, ứng dụng đáp ứng yêu cầu nhỏ gọn, dễ sử dụng, giao diện đơn... Có thể tải nghe audio video Lý chọn đề tài: - Lý chọn đề tài: Xây dựng ứng dụng phát video (Streaming Video) mà tải Xây dựng ứng dụng giúp việc tìm kiếm, lưu trữ nội dung video đơn giản hơn, số

Ngày đăng: 08/12/2016, 23:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan