1use music_metadata::{FlacParser, ID3Parser, OggParser};
2fn main() -> std::io::Result<()> {
3 let mut id3_parser = ID3Parser::new("云烟成雨.mp3").unwrap();
5
6 id3_parser.parse_id3v1()?;
7 println!("{}", id3_parser.id3v1);
11
12 id3_parser.parse_id3v2()?;
13 println!("{}", id3_parser.pheader);
14 println!("{}", id3_parser.eheader);
15 println!("{}", id3_parser.footer);
16
17 println!("TIT2 = {:?}", id3_parser.get("TIT2").unwrap());
21 println!("TALB = {:?}", id3_parser.get("talb").unwrap());
22 println!("TPE1 = {:?}", id3_parser.get("tpe1").unwrap());
23 println!("TPE2 = {:?}", id3_parser.get("tpe2").unwrap());
24 println!("padding size = {}", id3_parser.padding_size);
25
26 id3_parser.write_image()?;
33
34 let mut flac_parser = FlacParser::new("云烟成雨.flac").unwrap();
35 flac_parser.parse()?;
36
37 println!("artist = {:?}", flac_parser.get("artist").unwrap());
40
41 println!("album = {:?}", flac_parser.get("album").unwrap());
42
43 let (k, v) = flac_parser.get_all().unwrap();
45 let mut index = 0;
46 while index < k.len() {
47 println!(
48 "vorbis key = {:?}, vorbis comment = {:?}",
49 k[index], v[index]
50 );
51 index += 1;
52 }
53
54 println!("md5 = {}", flac_parser.stream_info.md5);
58
59 println!(
60 "picture width = {}, picture width = {}, picture type = {:?}",
61 flac_parser.picture[0].width,
62 flac_parser.picture[0].height,
63 flac_parser.picture[0].pic_type
64 );
65
66 flac_parser.write_image()?;
69
70 flac_parser.change_target("千千阙歌.flac");
71
72
73 let mut ogg_parser = OggParser::new("xhh.ogg");
74 ogg_parser.parse()?;
75 println!("ogg_vorbis_comment = {:?}", ogg_parser.get_all());
76 Ok(())
77}