RIFF (Định dạng tệp trao đổi tài nguyên) là định dạng chứa tệp để lưu trữ dữ liệu dưới dạng các khối được gắn thẻ. Nó chủ yếu được sử dụng để lưu trữ đa phương tiện như video và âm thanh. Đoạn này có thể bao gồm các thông tin như nghệ sĩ, ngày tạo và thông tin bản quyền, v.v. Bài viết này sẽ hướng dẫn các nhà phát triển trích xuất siêu dữ liệu và THÔNG TIN RIFF từ các tệp âm thanh WAV trong C#.

Các chủ đề sau đây sẽ được đề cập trong bài báo một cách ngắn gọn:

.NET API để quản lý siêu dữ liệu

Trong bài viết này, tôi sẽ sử dụng GroupDocs.Metadata for .NET API trong các ví dụ C# để trích xuất siêu dữ liệu từ các tệp WAV. Ngoài các tệp WAV âm thanh, API hỗ trợ thêm, xóa, cập nhật và trích xuất siêu dữ liệu từ các tệp và video MP3. Hơn nữa, nó hỗ trợ các định dạng tệp Microsoft Office và Open Office, sách điện tử, hình ảnh và nhiều định dạng tài liệu khác.

Bạn có thể tải xuống trình cài đặt DLL hoặc MSI từ phần tải xuống hoặc cài đặt API trong ứng dụng .NET của bạn qua NuGet.

PM> Install-Package GroupDocs.Metadata

Trích xuất siêu dữ liệu của tệp WAV trong C#

Hãy bắt đầu với việc trích xuất siêu dữ liệu từ các tệp WAV. Thực hiện theo các bước và ví dụ mã được đề cập bên dưới để trích xuất thuộc tính siêu dữ liệu gói WAV của tệp WAV trong C#.

  • Tải tệp âm thanh WAV.
  • Nhận WavRootPackage của siêu dữ liệu.
  • Giải nén WavPackage từ gói gốc.
  • Bây giờ bạn có thể truy cập tất cả các thuộc tính của âm thanh WAV.
// Trích xuất siêu dữ liệu của tệp WAV trong C#
using (Metadata metadata = new Metadata("audio.wav"))
{
    var root = metadata.GetRootPackage<WavRootPackage>();
    Console.WriteLine("Bits per Sample: "   + root.WavPackage.BitsPerSample); // Bits per Sample
    Console.WriteLine("Block Align: "       + root.WavPackage.BlockAlign); // Block Align
    Console.WriteLine("Byte Rate: "         + root.WavPackage.ByteRate); // Byte Rate
    Console.WriteLine("Number of Channels: " + root.WavPackage.NumberOfChannels); // Number of Channels
    Console.WriteLine("Audio Format: "      + root.WavPackage.AudioFormat); // Audio Format 
    Console.WriteLine("Sample Rate: "       + root.WavPackage.SampleRate); // Sample Rate
}

Đây là đầu ra của đoạn mã trên:

Bits per Sample: 16
Block Align: 4
Byte Rate: 176400
Number of Channels: 2
Audio Format: 1
Sample Rate: 44100

Trích xuất RIFF INFO của tệp WAV trong C#

THÔNG TIN RIFF của các tệp WAV cũng có thể được trích xuất theo cách không khác với cách trích xuất các thuộc tính WavPackage được hiển thị trước đó. Sử dụng các bước sau, bạn có thể trích xuất RIFF INFO của tệp âm thanh có định dạng tệp WAV trong ứng dụng .NET của mình.

  • Tải tệp âm thanh WAV.
  • Nhận WavRootPackage của siêu dữ liệu.
  • Giải nén RiffInfoPackage từ gói gốc.
  • Bây giờ hãy truy cập các thuộc tính của âm thanh WAV.

Ví dụ mã sau trích xuất các thuộc tính siêu dữ liệu gói RIFF INFO của tệp WAV trong C#.

// Trích xuất RIFF INFO của tệp WAV trong C#
using (Metadata metadata = new Metadata("audio.wav"))
{
    var root = metadata.GetRootPackage<WavRootPackage>();
    Console.WriteLine("Artist: "      + root.RiffInfoPackage.Artist); // Artist
    Console.WriteLine("Comment: "     + root.RiffInfoPackage.Comment); // Comment
    Console.WriteLine("Copyright: "   + root.RiffInfoPackage.Copyright); // Copyright
    Console.WriteLine("CreationDate: " + root.RiffInfoPackage.CreationDate); // Creation Date
    Console.WriteLine("Software: "    + root.RiffInfoPackage.Software); // Software
    Console.WriteLine("Engineer: "    + root.RiffInfoPackage.Engineer); // Engineer
    Console.WriteLine("Genre: "       + root.RiffInfoPackage.Genre); // Genre
}

Sau đây là đầu ra của đoạn mã trên:

Artist: GroupDocs 
Comment: Sample WAV File
Copyright: 
CreationDate: 2020-12-03
Software: Sound Forge
Engineer: SGEFFNER
Genre: Mystery

Sự kết luận

Nói tóm lại, rất dễ dàng lấy ra siêu dữ liệu và THÔNG TIN RIFF từ các tệp WAV trong C#. Sau khi thử các ví dụ trên, hãy nghĩ đến việc phát triển ứng dụng .NET trình trích xuất siêu dữ liệu của riêng bạn như Ứng dụng GroupDocs.Metadata.

Có rất nhiều ví dụ mã nguồn mở khác có sẵn tại Kho lưu trữ GitHub. Tải xuống mã nguồn và chạy nhanh các ví dụ bằng cách sử dụng hướng dẫn bắt đầu. Trong trường hợp gặp bất kỳ khó khăn nào, hãy truy cập tài liệu hoặc liên hệ với nhóm hỗ trợ bất kỳ lúc nào trên diễn đàn.

Xem thêm