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 應用程序中獲取它。這類似於我們提取上面顯示的元數據的方式。
- 加載 WAV 文件。
- 獲取元數據的 WavRootPackage。
- 從根包中提取 RiffInfoPackage。
- 現在可以訪問 WAV 音頻的屬性了。
以下代碼示例提取 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 的更多信息
讓我們消除任何疑慮@免費支持論壇。