รูปแบบคอนเทนเนอร์ไฟล์ RIFF ใช้เพื่อจัดเก็บมัลติมีเดียเสียงและวิดีโอ ข้อมูลนี้จัดเก็บเป็นก้อนอาจมีข้อมูลจำนวนมาก เช่น วันที่สร้าง ข้อมูลลิขสิทธิ์ ศิลปิน ความคิดเห็น ฯลฯ คุณสามารถจัดการข้อมูลเมตาทางโปรแกรมได้เช่นเดียวกับข้อมูล RIFF บทความนี้แนะนำนักพัฒนาในการแยกข้อมูลเมตาและ RIFF INFO โดยทางโปรแกรมจากไฟล์เสียง WAV ในภาษาจาวา

หัวข้อต่อไปนี้จะครอบคลุมในบทความโดยสังเขป:

Java API สำหรับการจัดการข้อมูลเมตาและ RIFF INFO

GroupDocs.Metadata for Java เป็น API การทำงานอัตโนมัติของข้อมูลเมตาและการจัดการสำหรับรูปแบบไฟล์เอกสารและรูปภาพต่างๆ ฉันจะใช้ API นี้เพื่อแยกข้อมูลเมตาและ RIFF INFO จากไฟล์ WAV นอกเหนือจากไฟล์เสียง WAV แล้ว API ยังรองรับการเพิ่ม ลบ อัปเดต และแยกข้อมูลเมตาจากไฟล์ MP3 และวิดีโอ นอกจากนี้ยังรองรับรูปแบบไฟล์ Microsoft Office และ Open Office, eBooks, รูปภาพ และรูปแบบเอกสารอื่นๆ อีกมากมาย

ดาวน์โหลดและกำหนดค่า

รับไลบรารี จากการดาวน์โหลดหรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven เพื่อลองใช้ตัวอย่างที่กล่าวถึงด้านล่าง สำหรับรายละเอียด คุณสามารถไปที่ ข้อมูลอ้างอิง 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>

แยกข้อมูลเมตาของไฟล์ WAV ใน Java

ขั้นตอนต่อไปนี้และตัวอย่างโค้ด Java ที่กล่าวถึงด้านล่างแยกข้อมูลเมตาของไฟล์ WAV

  • โหลดไฟล์เสียง WAV
  • รับ WavRootPackage ของข้อมูลเมตา
  • แยก WavPackage โดยใช้วิธี getWavPackage
  • ตอนนี้คุณสามารถเข้าถึงคุณสมบัติทั้งหมดของเสียง WAV
// แยกข้อมูลเมตาของไฟล์ WAV ใน 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
}

รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ด้วยไฟล์ wav ที่ให้มา:

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

แยกข้อมูล RIFF ของไฟล์ WAV ใน Java

หากคุณต้องการแยก RIFF INFO ของไฟล์ WAV คุณสามารถรับได้จากแอปพลิเคชัน Java โดยใช้ขั้นตอนเหล่านี้ ซึ่งคล้ายกับวิธีที่เราแยกข้อมูลเมตาที่แสดงด้านบน

  • โหลดไฟล์ WAV
  • รับ WavRootPackage ของข้อมูลเมตา
  • แยก RiffInfoPackage จากรูทแพ็คเกจ
  • ขณะนี้สามารถเข้าถึงคุณสมบัติของเสียง WAV ได้

ตัวอย่างโค้ดต่อไปนี้แยกคุณสมบัติข้อมูลเมตาของแพ็คเกจ RIFF INFO ของไฟล์ WAV ใน Java

// แยก RIFF INFO ของไฟล์ WAV ใน 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
} 

ต่อไปนี้เป็นผลลัพธ์ของโค้ดด้านบน:

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

บทสรุป

ในบทความนี้ เราได้พูดถึงวิธีการแยกข้อมูลเมตาและ RIFF INFO โดยทางโปรแกรมจากไฟล์เสียง WAV ใน Java ฉันหวังว่าคุณจะพบว่ามันค่อนข้างง่าย ตอนนี้คุณสามารถสร้างแอปพลิเคชัน Java ตัวแยกข้อมูลเมตาของคุณเองโดยใช้ GroupDocs.Metadata for Java

เพิ่มเติมเกี่ยวกับ API

มาคลายข้อสงสัยกันเถอะ @ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย