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