RIFF 文件容器格式,用於存儲音頻和視頻多媒體。存儲在塊中的數據可以包括許多信息,例如創建日期、版權信息、藝術家、評論等。您可以通過編程方式操作元數據以及 RIFF INFO。本文指導開發人員以編程方式從 Java 中的 WAV 音頻文件中提取元數據和 RIFF INFO。

本文簡要介紹了以下主題:

用於管理元數據和 RIFF INFO 的 Java API

GroupDocs.Metadata for Java 是用於各種文檔和圖像文件格式的元數據自動化和操作 API。我將使用此 API 從 WAV 文件中提取元數據和 RIFF INFO。除了音頻 WAV 文件外,API 還支持從 MP3 文件和視頻中添加、刪除、更新和提取元數據。此外,它還支持 Microsoft Office 和 Open Office 文件格式、電子書、圖像和許多其他文檔格式。

下載和配置

獲取庫 從下載中獲取,或者只需在基於 Maven 的 Java 應用程序中添加以下 pom.xml 配置即可嘗試下面提到的示例。有關詳細信息,您可以訪問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>

用 Java 提取 WAV 文件的元數據

以下步驟和下面提到的 Java 代碼示例提取 WAV 文件的元數據。

  • 加載 WAV 音頻文件。
  • 獲取元數據的 WavRootPackage
  • 使用 getWavPackage 方法提取 WavPackage
  • 現在您可以訪問 WAV 音頻的所有屬性。
// 在 Java 中提取 WAV 文件的元數據
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
}

上面的代碼使用提供的 wav 文件生成以下輸出:

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

在 Java 中提取 WAV 文件的 RIFF 信息

如果您想提取 WAV 文件的 RIFF 信息,您可以使用這些步驟在您的 Java 應用程序中獲取它。這類似於我們提取上面顯示的元數據的方式。

以下代碼示例提取 Java 中 WAV 文件的 RIFF INFO 包元數據屬性。

// 在 Java 中提取 WAV 文件的 RIFF 信息
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
} 

以下是上述代碼的輸出:

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

結論

在本文中,我們討論瞭如何以編程方式從 Java 中的 WAV 音頻文件中提取元數據和 RIFF INFO。我希望你覺得它很簡單。現在您可以使用 GroupDocs.Metadata for Java 構建您自己的元數據提取器 Java 應用程序。

有關 API 的更多信息

讓我們消除任何疑慮@免費支持論壇。

也可以看看