2011-02-10 36 views
6

Tôi đang làm thư viện album nhạc. Chương trình sẽ kết nối với cơ sở dữ liệu như FreeDB và sau đó lưu trữ nó.Nhập dữ liệu từ CD âm thanh bằng C#?

Hiện tại, nó chỉ là một khái niệm và tôi muốn biết nếu nó có thể làm điều đó. Câu hỏi thực sự là, Có cách nào để lấy dữ liệu từ cd như những gì xảy ra khi bạn phát đĩa trong Windows Media Player không? Tôi đã làm một chút của một reasearch và tôi tìm thấy về ID3 và mp3 nhưng tôi không nghĩ rằng nó sẽ được bất kỳ dẫn như các bài hát được .cda.

Tôi đang nghiên cứu lập trình (bằng tốt nghiệp). Bất kỳ đề xuất nào?

+0

Window Media Player có thể làm điều này: Pop trong một đĩa CD và nó sẽ cố gắng để truy xuất các thông tin album (tên tên CD, nghệ sĩ, ca khúc, v.v ...). * Làm thế nào * nó thực hiện điều này, bằng cách sử dụng các tập tin CDA, tôi không chắc chắn. – FrustratedWithFormsDesigner

+0

Tệp cda không thực sự chứa nhạc. Chúng chỉ là các tệp mô tả. Bản thân dữ liệu âm thanh thường là PCM 16 bit không nén ở 44100 mẫu âm thanh nổi. Nhưng tôi không biết cách mở một bản nhạc cd để đọc. – CodesInChaos

+0

Tôi đọc về cda và không chứa bản thân âm thanh ... thú vị để biết. – gorgo4

Trả lời

0

Nếu bạn muốn viết tất cả mã từ đầu, bạn sẽ cần tìm hiểu về Red Book. Nếu không, bạn có thể chỉ muốn tự động hóa một cái gì đó như trình phát đa phương tiện.

+0

không chắc chắn ý của bạn về tự động hóa và trình phát đa phương tiện ... nhưng tôi đang đọc về sách đỏ! cảm ơn. – gorgo4

+0

ý tôi là về tự động hóa là tìm và API để kiểm soát hoặc viết kịch bản các ứng dụng khác. –

0

Sau đây là dựa trên những ký ức mơ hồ của tôi về mô tả không đầy đủ rằng nhóm đằng sau tính năng đó trong thời đại Windows 98 được cung cấp. Các chi tiết cụ thể của việc thực hiện được bảo mật, và tôi không biết thông tin chi tiết, và mọi thứ có thể đã thay đổi một chút trong 13 năm tiếp theo kể từ lần đầu tiên tôi thử nghiệm tính năng này.

Một mẫu đại diện dữ liệu nhị phân từ đĩa CD được đọc và chuyển đổi thành một số loại kiểm tra giống như CRC hoặc một băm. Kiểm tra đã được gửi đến một dịch vụ web có chứa một cơ sở dữ liệu phù hợp với những kiểm tra thông tin album.

Khi có thể, đĩa chính xác đã được khớp; rõ ràng, chỉ có đủ xung đột trong bộ sưu tập của riêng tôi mà đôi khi tôi được trình bày với một danh sách các album có thể.

Microsoft đã chi một khoản tiền hợp lý để xây dựng cơ sở dữ liệu này và dữ liệu bao gồm quan hệ đối tác với ít nhất một công ty bên thứ ba. Bạn có thể có thể xây dựng một bằng chứng về khái niệm khá dễ dàng, nhưng có thể bạn sẽ không thể tự xây dựng một cơ sở dữ liệu hoàn chỉnh. Nhưng bạn có thể sử dụng một cái gì đó như FreeDb để xây dựng một dịch vụ tùy chỉnh của riêng bạn.

Một ví dụ về một cách tiếp cận tương tự được giải thích một cách chi tiết khiêm tốn ở đây: http://en.wikipedia.org/wiki/CDDB

Có thể là đĩa CD mới bao gồm một số loại định danh riêng biệt, nhưng tôi không quen thuộc với tiêu chuẩn công nghiệp hiện đĩa CD.

4

Tôi tìm thấy một hướng dẫn với mẫu mã mà sẽ giúp bạn ra ngoài: http://www.codeproject.com/KB/audio-video/freedb.aspx

+0

FTA: Có hai thư viện lớp học đi kèm với ứng dụng demo. Freedb - các lớp để truy xuất thông tin cơ sở dữ liệu CD từ các máy chủ freedb. Đây là thư viện mà tôi đã tạo cho bài viết này. Ripper - đây là phiên bản sửa đổi của thư viện C Sharp Ripper. Thư viện này được sử dụng để truy cập ổ đĩa CD và lấy thông tin CD âm thanh cấp thấp. ...Tôi đã sửa đổi lớp CDDrive để bao gồm một vài phương pháp để tính toán một ID đĩa và theo dõi bù đắp dựa trên các thông số kỹ thuật freedb. Thông tin này được sử dụng để truy vấn cơ sở dữ liệu freedb. –

+0

Cảm ơn. Tôi đã đi qua đó và đến nay là gần nhất .... Tôi sẽ cung cấp cho một đọc sâu! – gorgo4

Các vấn đề liên quan