-
Tạo âm thanh trong WindowsMediaPlayer
vansunhuy58 > 23-08-23, 03:56 PM
Xin chào các bạn!
Mình đang gặp khó khăn về đọan code, nhờ các bạn chỉ giúp. Cảm ơn rất nhiều.
Giúp dùm code báo lỗi Access 2013 như sau:
Mình tạo combobox có tên cbName, và WindowsMediaPlayer.
cbName lấy nguồn từ table: tblFileSongs có các trường id, amthanh. Các records id là 1, thì amthanh đọc "Bạn thứ nhất"; records id là 2, thì amthanh đọc "Bạn thứ hai"... (Mục đích: khi nhắp cbName chọn số 1 thì Mediaplayer đọc " Bạn thứ nhất" ...
Private Sub cboName_AfterUpdate()
Dim filePath As String
Dim Sql As String
Dim rs As DAO.Recordset
Sql = "Select path from tblFileSongs where id =" & cboName.Column(0)
Set rs = Me.CurrentDb.OpenRecordset(Sql)
filePath = rs.Fields("path").Value
Me.WindowsMediaPlayer.URL = filePath
Set rs = Nothing
End Sub
Bị báo lỗi đoạn nầy:
Set rs = Me.CurrentDb.OpenRecordset(Sql)
Nhờ các bạn chỉ giúp sửa dùm
Cảm ơn rất nhiều.
Đính kèm file nhờ các bạn sửa:
https://app.box.com/s/3o8c2n6x9sizzadhqj5kwinx8b4u08eq -
RE: Tạo âm thanh trong WindowsMediaPlayer
ongke0711 > 23-08-23, 05:07 PM
Tôi không nghĩ là bạn nên chọn giải pháp này để đọc số thứ tự.
Có phải bạn muốn có giọng đọc tự động theo số thứ tự trên màn hình giống như trong bệnh viện phải không?
Dùng giọng của google hay hơn.
Bạn tham khảo bài này: https://thuthuataccess.com/forum/thread-11472.html -
RE: Tạo âm thanh trong WindowsMediaPlayer
vansunhuy58 > 23-08-23, 08:15 PM
(23-08-23, 05:07 PM)ongke0711 Đã viết: Tôi không nghĩ là bạn nên chọn giải pháp này để đọc số thứ tự.
Có phải bạn muốn có giọng đọc tự động theo số thứ tự trên màn hình giống như trong bệnh viện phải không?
Dùng giọng của google hay hơn.
Bạn tham khảo bài này: https://thuthuataccess.com/forum/thread-11472.html
Cảm ơn bạn rất nhiều, nhưng tôi muốn đọc thông báo bất kỳ nội dung nào mà mình chọn (đã ghi âm trước). Nên dùng combobox để chọn
Vậy trường hợp nầy tôi không biết phải làm sao. Nhờ bạn chỉ giúp, cảm ơn rất nhiều. -
RE: Tạo âm thanh trong WindowsMediaPlayer
vansunhuy58 > 24-08-23, 12:04 PM
(23-08-23, 03:56 PM)vansunhuy58 Đã viết: Xin chào các bạn!
Cái nầy lúc trước làm trên Access 2003 thì được, âm thanh đọc rất nhanh, đọc các đoạn thông báo rất tốt, không ảnh hưởng đến các thao tác khác.
Mình đang gặp khó khăn về đọan code, nhờ các bạn chỉ giúp. Cảm ơn rất nhiều.
Giúp dùm code báo lỗi Access 2013 như sau:
Mình tạo combobox có tên cbName, và WindowsMediaPlayer.
cbName lấy nguồn từ table: tblFileSongs có các trường id, amthanh. Các records id là 1, thì amthanh đọc "Bạn thứ nhất"; records id là 2, thì amthanh đọc "Bạn thứ hai"... (Mục đích: khi nhắp cbName chọn số 1 thì Mediaplayer đọc " Bạn thứ nhất" ...
Private Sub cboName_AfterUpdate()
Dim filePath As String
Dim Sql As String
Dim rs As DAO.Recordset
Sql = "Select path from tblFileSongs where id =" & cboName.Column(0)
Set rs = Me.CurrentDb.OpenRecordset(Sql)
filePath = rs.Fields("path").Value
Me.WindowsMediaPlayer.URL = filePath
Set rs = Nothing
End Sub
Bị báo lỗi đoạn nầy:
Set rs = Me.CurrentDb.OpenRecordset(Sql)
Nhờ các bạn chỉ giúp sửa dùm
Cảm ơn rất nhiều.
Đính kèm file nhờ các bạn sửa:
https://app.box.com/s/3o8c2n6x9sizzadhqj5kwinx8b4u08eq
Nhưng giờ đem qua Access 2013 thì bị báo lỗi.
Nhờ các bác tải file về chỉnh dùm, cảm ơn rất nhiều. -
RE: Tạo âm thanh trong WindowsMediaPlayer
ongke0711 > 24-08-23, 01:58 PM
(23-08-23, 08:15 PM)vansunhuy58 Đã viết: Cảm ơn bạn rất nhiều, nhưng tôi muốn đọc thông báo bất kỳ nội dung nào mà mình chọn (đã ghi âm trước). Nên dùng combobox để chọn
Vậy trường hợp nầy tôi không biết phải làm sao. Nhờ bạn chỉ giúp, cảm ơn rất nhiều.
Chắc bạn cũng mới lập trình đây nên chưa biết cách chế biến code lại từ cái file Demo tôi chia sẻ source code. Nó có đủ code để đọc các file âm thanh có sẳn mà không cần mở Media player như file bạn đang làm. Mở Media player rồi đọc sẽ chậm hơn nhiều.
Vậy tôi sẽ sửa file theo cách bạn đang làm nhưng góp ý thêm chút về giải pháp xử lý file âm thanh cho nó chuẩn hoá.
1. Nói về file âm thanh:
- Hiện tại đã có rất nhiều công cụ AI dùng để đọc các đoạn văn bản với giọng nam/nữ chuẩn thay vì phải tự thu âm rồi xử lý âm thanh. Nếu thu âm không tốt sẽ có độ nhiễu, khó nghe rõ.
- Các cung cấp dịch vụ đọc miễn phí, chỉ cần dán văn bản cần đọc -> chuyển đổi là có thể tải file âm thanh đó về như: https://vbee.vn/; https://fpt.ai/vi/tts; https://ttsfree.com/text-to-speech; ... còn nhiều trang nữa.
- Trong file demo tôi có dùng giọng đọc của dịch vụ vbee.vn
2. Nói về cách lưu file âm thanh và đọc nó:
- Hiện tại bạn đang dùng Field OLE Object để lưu trực tiếp các file âm thanh (hình ảnh, video...) vào Table. Đây là tính năng hay của Access nhưng sử dụng có chọn lọc. Nếu lưu toàn bộ các file như trên vào Table sẽ làm Table phình ra, CSDL cũng phình lên đáng kể. Thường thì người ta sẽ lưu các file âm thanh, video, hình ảnh, pdf, doc, xlxs.. vào một Folder đi kèm và chỉ copy đường link tới các file đó lưu xuống Table. Cách làm này sẽ linh động hơn rất nhiều.
- Bạn đang dùng một ActiveX Control là WindowsMediaPlayer, nếu qua máy tính khác không cài đặt WMP thì không chạy được. (Máy tôi Windows 11 không kích hoạt cái ứng dụng này).
- Bạn dùng cái phương thức "MediaPlayer.URL = ..." thì bạn phải cung cấp đường dẫn URL tới file mp3, nó mới chạy được. Table của bạn là chèn thẳng file mp3 vào table chứ không có đường dẫn nên không chạy. Nếu bạn đã chèn thẳng file media vào Table thì có cách double - click thẳng vào dòng đó để gọi nó chạy thôi.
Trong code của bạn có dùng câu lệnh SQL:
Mã PHP:Sql = "Select path from tblFileSongs where id =" & cboName.Column(0)
--> mà trong table thì lại không có trường [path]???
--> Bạn thiết kế comboBox để tham chiếu đến cột 0 [cboName.Column(0)] cũng sai. Một bên là [id], còn cột 0 của comboBox lại là cột [amthanh].
--> Tôi đã sửa lại (chỉ cần 1 dòng code), không cần dùng DAO Recordset gì cho nó dài dòng, tốn tài nguyên.
File demo:
- Form1: làm theo cách của bạn. Dùng ActiveX Windows MediaPlayer.
- Form2: cách tôi dùng hàm API của Window (Winmm.dll), chạy trực tiếp.
- Trong file demo tôi có test giọng đọc một văn bản nhiều câu. Các file âm thanh trong đó đều lấy từ các ứng dụng đọc văn bản đề cập ở trên.
(đường dẫn file âm thanh trong table bạn tự cập nhật theo máy của bạn)
Link demo: https://drive.google.com/file/d/15WltVBj...sp=sharing
-
RE: Tạo âm thanh trong WindowsMediaPlayer
vansunhuy58 > 24-08-23, 09:40 PM
Cảm ơn bạn rất nhiều nhiều!
Thật không thể tuyệt vời hơn.
Bạn hướng dẫn rất tận tình như một nhà giáo chân chính.
Diễn đàn thật hạnh phúc khi có bạn ongke0711 và những bạn nhiệt tình khác như: Noname, ...
Viết code thì tôi cùi bắp lắm, chủ yếu sưu tầm rồi xào lại. Có khi xào quá thành chiên xù luôn.
----------------------------------
Các ngành khác có Nhà giáo ưu tú, Thầy thuốc ưu tú, Nghệ sĩ ưu tú...
Nếu lĩnh vực CNTT có danh hiệu đó thì tôi sẽ bầu bạn ongke0711 và Noname là Nhà CNTT Ưu tú.
Trân trọng.