Định dạng chứa tệp RIFF được sử dụng để lưu trữ đa phương tiện âm thanh và video. Dữ liệu này được lưu trữ trong khối có thể bao gồm nhiều thông tin như ngày tạo, thông tin bản quyền, nghệ sĩ, nhận xét, v.v. Bạn có thể lập trình thao tác với siêu dữ liệu cũng như THÔNG TIN RIFF. Bài viết này hướng dẫn các nhà phát triển lập trình trích xuất siêu dữ liệu và RIFF INFO từ các tệp âm thanh WAV trong Java.

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

API Java để quản lý siêu dữ liệu và RIFF INFO

GroupDocs.Metadata for Java là API thao tác và tự động hóa siêu dữ liệu cho các định dạng tệp tài liệu và hình ảnh khác nhau. Tôi sẽ sử dụng API này để trích xuất siêu dữ liệu và THÔNG TIN RIFF 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ó cũng 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.

Tải xuống và định cấu hình

Tải thư viện từ các bản tải xuống hoặc chỉ cần thêm cấu hình pom.xml sau vào các ứng dụng Java dựa trên Maven của bạn để thử các ví dụ được đề cập bên dưới. Để biết chi tiết, bạn có thể truy cập Tham khảo API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-metadata</artifactId>
        <version>21.2</version> 
</dependency>

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

Các bước sau đây và ví dụ mã Java được đề cập bên dưới trích xuất siêu dữ liệu của các tệp WAV.

  • Tải tệp âm thanh WAV.
  • Nhận WavRootPackage của siêu dữ liệu.
  • Giải nén WavPackage bằng phương pháp getWavPackage.
  • 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 Java
try (Metadata metadata = new Metadata("audio.wav"))
{
    WavRootPackage root = metadata.getRootPackageGeneric();
    System.out.println(root.getWavPackage().getBitsPerSample()); // Bits per Sample
    System.out.println(root.getWavPackage().getBlockAlign()); // Block Align
    System.out.println(root.getWavPackage().getByteRate()); // Byte Rate
    System.out.println(root.getWavPackage().getNumberOfChannels()); // No. of Channels
    System.out.println(root.getWavPackage().getAudioFormat()); // Audio Format
    System.out.println(root.getWavPackage().getSampleRate()); // Sample Rate
}

Đoạn mã trên tạo ra đầu ra sau với tệp wav được cung cấp:

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 Java

Nếu bạn muốn trích xuất THÔNG TIN RIFF của các tệp WAV, bạn có thể lấy nó trong ứng dụng Java của mình bằng các bước sau. Điều này tương tự như cách chúng tôi trích xuất siêu dữ liệu được hiển thị ở trên.

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

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 Java.

// Trích xuất RIFF INFO của tệp WAV trong Java
try (Metadata metadata = new Metadata("audio.wav"))
{
    WavRootPackage root = metadata.getRootPackageGeneric();
    System.out.println(root.getRiffInfoPackage().getArtist()); // Artist
    System.out.println(root.getRiffInfoPackage().getComment()); // Comment
    System.out.println(root.getRiffInfoPackage().getCopyright()); // Copyright
    System.out.println(root.getRiffInfoPackage().getCreationDate()); // Creation Date
    System.out.println(root.getRiffInfoPackage().getSoftware()); // Software
    System.out.println(root.getRiffInfoPackage().getEngineer()); // Engineer
    System.out.println(root.getRiffInfoPackage().getGenre()); // 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

Trong bài viết này, chúng tôi đã thảo luận cách lập trình trích xuất siêu dữ liệu và THÔNG TIN RIFF từ các tệp âm thanh WAV trong Java. Tôi hy vọng bạn thấy nó khá đơn giản. Giờ đây, bạn có thể xây dựng ứng dụng Java trình trích xuất siêu dữ liệu của riêng mình bằng cách sử dụng GroupDocs.Metadata for Java.

Tìm hiểu thêm về API

Hãy giải tỏa mọi nghi ngờ @ Diễn đàn hỗ trợ miễn phí.

Xem thêm