Hàm đóng gói âm thanh

Một phần của tài liệu báo cáo thực tập tốt nghiệp đề tài voip call (Trang 45)

Đềtài: VoIP Call Trang 33

+ Hàm SetUpComboxes được xây dựng trong View-Model được dùng để thực hiện việc tìm kiếm thiết bị âm thanh cho Server và Client

Hình 45. Hin thcác thi t bị đầu ra/đầu vào

+ Hàm SetUpJitterBufferClientRecording được sử dụng cho việc thiết lập nhận bộ đệm cho việc ghi âm của Client.

Hình 46. B đ m âm thanh c a Client

Đềtài: VoIP Call Trang 34

+ Hàm SetUpJitterBufferClientPlaying được dùng cho việc thiết lập bộ đệm cho việc bắt đầu phát đoạn âm thanh được truyền đi.

Hình 47. Thi t lp b đ m phát âm thanh

+ Hàm SetUpJitterBufferServerRecording cũng có tác dụng làm nhận bộ đệm cho việc ghi âm nhưng bộ đệm này được sử dụng cho Server

Hình 48. Thi t lp b đ m ghi âm thanh

- Đối với Server trong View-Model

+ Tạo hàm StartRecordingFromSounddevice_Server() thực hiện việc ghi âm từ Server. Hàm được đặt trong RelayCommand được khởi tạo cùng lúc với việc bắt đầu khởi tạo Server

Đềtài: VoIP Call Trang 35

Hình 49. Th c hi n ghi âm thanh tthi t bị đầu vào

+ Hàm StopRecordingFromSounddevice_Server() sẽ thực hiện việc dừng việc ghi âm thanh của Server lại khi mà Server dừng được đóng lại.

Hình 50. Th c hi n dng ghi âm thanh

Đềtài: VoIP Call Trang 36

+ Hàm StartTimerMixed được sử dụng như bộ đếm thời gian gửi các đoạn ghi âm đi tới các Client.

Hình 51. Truy n âm thanh đã được mã hoá đ n các Client

+ Hàm StopTimerMixed được dùng để ngừng việc đếm thời gian thực hiện khi mà Server được dừng.

Hình 52. Dng truy n âm thanh đ n các Client

+ Hàm SendConfigurationToClient được dùng để thực hiện việc có cho phép Client kết nối vào Server hay không để bắt đầu việc Kết nối cũngnhư truyền nhận âm thanh của Client kết nối vào Server.

Hình 53. Hàm SendConfiguarationToClient

- Đối với Client trong View-Model

+ Hàm nhận tin nhắn chấp nhận hay từ chối việc được kết nối tới Server hay không để bắt đầu việc Truyền nhận âm thanh của Client. If từ chốiClient sẽ tự ngắt kết nối với Server.

Đềtài: VoIP Call Trang 37

Hình 54. Hàm OnClientConfigReceived

+ Hàm StartPlayingToSounddevice_Client có chức năng bắt đầu việc phát âm thanh được gửi từ Server đến cho Client thông qua Thiết bị

âm thanh. Và chức được thực hiện khi Server chấp nhận việc kết nối của Client và Client nhận được gói dữ liệu âm thanh.

Đềtài: VoIP Call Trang 38

Hình 55. Th c hi n phát âm thanh qua thi t bị đầu ra

+ Hàm StopPlayingToSounddevice_Client có chức năng dừng việc phát âm thanh nhận được ghi Client ngắn kết nối với Server.

Hình 56. Dng phát âm thanh qua thi t bị đầu ra đ n Server

+ Hàm StartRecordingFromSounddevice_Client cũng tương tự như Server hàm có chức năng thực hiện việc bắt đầu ghi âm từ thiết bị

âm thanh của Client. Chức năng được thực hiện khi Server chấp nhận việc kết nối của Client.

Đềtài: VoIP Call Trang 39

Hình 57. Th c hi n ghi âm thanh tthi t bị đầu vào c a Client

+ Hàm StopRecordingFromSounddevice_Client hàm có chức năng thực hiện việc dừng ghi âm từ thiết bị âm thanh của Client. Chức năng được thực hiện khi việc kết nối của Client được ngừng.

Hình 58. Th c hi n vi c dng ghi âm thanh tthi t bị đầu vào c a Client

Đềtài: VoIP Call Trang 40

2.3.3.ng dng VoIP Call2.3.2.1. Tng quan vVoIP Call 2.3.2.1. Tng quan vVoIP Call

- VoIP (Voice over Internet Protocol) là một công nghệ cho phép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của Internet và có thể sử dụng nhiều loại mạng khác nhau: LAN, WAN,... Với chi phí thấp hơn nhiều so với các phương thức truyền thông truyền thống, VoIP đang được các doanh nghiệp đầu tư nhiều và được ứng dụng rộng rãi trong môi trường doanh nghiệp và cá nhân.

- Về dự án VoIP Call, đây là ứng dụng cho phép thực hiện truyền thoại giữa các máy tính sử dụng hệ điều hành Windows trong mạng LAN. Thông qua giao thức UDP và Socket. Các máy tính trong mạng LAN có thể giao tiếp, truyền và nhận âm thanh với nhau theo thời gian thực.

- Ứng dụng được viết bằng WPF theo mô hình MVVM giúp tối ưu hoá code và có thể tái sử dụng code, ngoài ra việc bổ sung hoặc chỉnh sửa chức năng đơn giản hơn so với Winform.

- Tuy nhiên, ứng dụng chỉ có thể chạy trên các máy tính sử dụng hệ điều hành Windows Vista hoặc Windows Server 2008 trở lên.

2.3.2.2. Từng chức năng của VoIP Call

- Giao diện chính của ứng dụng gồm 3 phần chính: Main Menu, Sub-Menu và nội dung. Trong mỗi phần để có phần nội dung riêng và từng chức năng riêng để đáp ứng đủ

Đềtài: VoIP Call Trang 41

Hình 59. Giao di n chính

- Giao diện Server cho phép người dùng thao tác thiết lập server để client có thể

kết nối đến, bao gồm địa chỉ IP, cổng port và chọn các thiết bị đầu vào/đầu ra.

Hình 60. Giao di n Server

Đềtài: VoIP Call Trang 42

- Giao diện Client cho phép user kết nối đến Server thông qua địa chỉ IP và cổng Port của Server

Hình 61. Giao di n Client

- Giao diện multitab cho phép kéo thả các tab dễ dàng kéo thả từng tab linh

động

Hình 62. Multitab trong ng dng

Đềtài: VoIP Call Trang 43

- Giao diện khi khởi tạo Server.

Hình 63. Server khi được khi t o

- Giao diện sau khi Clent kết nối đển Server, thông tin từng users đã kết nối sẽ được hiển thị trên ListView

Hình 64. Server hin thị users sau khi được k t ni

Đềtài: VoIP Call Trang 44

- Giao diện Client sau khi kết nối đến Server, thông báo sẽ được hiển thị

trên TextBlock

Hình 65. Client sau khi k t nối đ n Server

- Tại mục Micro và Speaker, người dùng có thể dễ dàng chọn các thiết bị đầu ra/đầu vào thông qua combobox

Hình 66. Giao di n cho phép chn OutPut và InPut tthi t b

- Calling History sẽ hiển thị các cuộc gọi gần đây nhất, dữ liệu được hiển thị trên ListView

Đềtài: VoIP Call Trang 45

Hình 67. Lch scu c gi

- Khi có cuộc gọi từ user bất kỳ, Server sẽ hiển thị bảng thông báo cuộc gọi đến, người dùng hoàn toàn có thể từ chối hoặc chấp nhận cuộc gọi

Hình 68. Thông báo khi có cu c gọi đ n

- Ứng dụng VoIP đã có thể thực hiện được việc khởi tạo Server, Client và thực hiện được các chức năng cơ bản như nghe, gọi và đàm thoại theo thời gian thực, đồng thời cũng có thể lưu trữ được thông tin kết nối và lịch sử cuộc gọi.

Đềtài: VoIP Call Trang 46

CHƯƠNG 3. ĐỀXUẤT CÁC GIẢI PHÁP CẢI THIỆN CHẤT LƯỢNG GIẢNG DẠY Ở NHÀ TRƯỜNG

Môi trường thực tế tại công ty là môi trường hoàn toàn khác so với môi trường giao dục tại nhà trường, do đó, sinh viên khi thực tập sẽ bỡ ngỡ và sẽ

gặp một số khó khăn nhất định trong thực tập. Em xin được đề xuất một số giải pháp để cải thiện chất lượng giảng dạy ở nhà trường như sau:

Vkỹ năng mềm:

- Thường xuyên tổ chức các lớp rèn luyện kỹ năng làm việc nhóm;

- Trang bị cho sinh viên kỹ năng tìm đọc tài liệu bằng Tiếng Anh;

- Nên đưa Tiếng Anh vào việc giảng dạy và học tập ở một số môn học nhất định;

- Tổ chức các buổi sinh hoạt Tiếng Anh.

Vkiến thc chuyên ngành:

- Chú trọng hơn về hướng đối tượng trong việc giảng dạy;

- Đưa công nghệ mới vào chương trình đào tạo;

- Đưa các công cụ lưu trữ mã nguồn như: Git, Github, Gitlab, Bitbucket,... vào giảng dạy cũng như điều kiện bắt buộc để lưu trữ mã nguồn khi thực hiện đồ án môn học;

- Các môn học như thiết kế web, lập trình web,... cần tạo điều kiện cho Sinh viên deploy website thực tế lên host và trỏ tên miền thực tế;

- Thường xuyên tổ chức các buổi seminar, workshop về các công nghệ, công cụ,... cần thiết cho môi trường doanh nghiệp như: Linux, Docker, Angular, React, React Native,.. và các ngôn ngữ, công cụ mã nguồn mở khác;

- Định hướng cho sinh viên năm nhất hiểu rõ front-end, back-end, devOps,...

từ đó giúp sinh viên có hướng đi tốt hơn trong suốt thời gian học tập tại trường.

Đềtài: VoIP Call Trang 47

CHƯƠNG4. KẾT LUẬT VÀ ĐỊNH HƯỚNG PHÁT TRI 4.1. Kết lun

Qua thời gian thực tập thực tế tại Công ty TNHH Giải pháp Phần mềm Tường Minh, em đã học hỏi và trao dồi thêm nhiều kỹ năng, kiến thức thực tế; đồng thời được củng cố kiến thức đã học trên ghế nhà trường. Qua dự án thực tế, em đã thực hiện được một số yêu cầu nhất định; tuy nhiên, thời gian thực tập chưa được nhiều nên dự án còn gặp phải nhiều khó khăn cần khắc phục.

Vdán VoIP Call:

- Ưu điểm:

+ Ứng dụng VoIP có thể nghe gọi theo thời gian thực thông qua TCP/IP;

+ Giao diện dễ tương tác, sử dụng;

+ Thiết kế dạng mutitab, dễ dàng kéo thả như giao diện metro;

- Nhược điểm:

+ Giao diện ứng dụng còn đơn giản, chưa có nhiều tính năng;

+ Độ trễ trong truyền âm thanh còn cao;

+ Độ nhiễu âm thanh còn cao;

Vbn thân:

- Ưu điểm:

+ Củng cố thêm kiến thức về C#, Network,...

+ Học được thêm công nghệ và công cụ mới: WPF, mô hình MVVM, MVVM

Light Toolkit, thư viện NAudio,...

+ Củng cố khả năng giao tiếp trong công sở;

+ Được đào tạo về các quy trình phát triển phần mềm đang được vận dụng tại công ty;

+ Củng cố và rèn luyện thêm kỹ năng nghe, nói, đọc, viết Tiếng Anh;

+ Khả năng tự học, tự nghiên cứu qua tài liệu được nâng cao.

- Nhược điểm:

+ Khả năng tìm lỗi và sửa lỗi còn nhiều khó khăn dẫn đến mất nhiều thời gian; + Khả năng vận dụng Tiếng Anh trong giao tiếp còn chưa cao.

Đềtài: VoIP Call Trang 48

4.2. Định hướng phát triển

Để làm cho dự án có tính thiết thực hơn đối với nhu cầu đại đa số người dùng, ứng dụng cần được bổ sung, phát triển thêm một số tính năng:

- Bổ sung và chỉnh sửa giao diện thân thiện hơn cho người dùng;

- Bổ sung tính năng SIP Call để thực hiện cuộc gọi ra bên ngoài mạng cục bộ;

- Chuyển đổi sang UWP thiết kế giao diện chuyên nghiệp và đa nền tảng.

Đềtài: VoIP Call Trang 49

TÀI LIỆU THAM KHẢO Tài liu Tiếng Anh:

1. Richard Blum (2002). C# Network Programming. Sybex

Tài liu tInternet: 1. Ebook – Lập trình m ng vi C# https://tinhte.vn/threads/ebook-lap-trinh- mang-voi-c-full-117-trang-tieng-viet.2157487/- 26/07/2019 2. Khoá học “Lập trình WPF cơ bản” https://howkteam.vn/course/lap-trinh-wpf-co-ban-30- 28/06/2019 3. Khoá học “Lập trình phn m m Qun lý kho WPF – MVVM” https://www.howkteam.vn/course/lap-trinh-phan-mem-quan-ly-kho-wpf-- mvvm-42- 28/06/2019

4. Khoá hc “MVVM Light Toolkit Fundamentals”

https://app.pluralsight.com/library/courses/mvvm-light-toolkit- fundamentals/- 03/07/2019

5. Khoá học “Audio Programming with NAudio”

https://app.pluralsight.com/library/courses/audio-programming-naudio/ - 10/07/2019

Phn mm và thư viện được sdng:

1. Microsoft Visual Studio 2017 Community

2. Microsoft Visual Code

3. MVVM Light Toolkit

4. Material Design In XAML Toolkit

5. NAudio Library

Đềtài: VoIP Call Trang 50

Một phần của tài liệu báo cáo thực tập tốt nghiệp đề tài voip call (Trang 45)