亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mpeginfo.java

?? YOYOPlayer MP3播放器 java+JMF實現(xiàn)
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.hadeslee.yoyoplayer.tag;import com.hadeslee.audiotag.audio.exceptions.InvalidAudioFrameException;import com.hadeslee.audiotag.audio.exceptions.ReadOnlyFileException;import com.hadeslee.audiotag.audio.mp3.MP3AudioHeader;import com.hadeslee.audiotag.audio.mp3.MP3File;import com.hadeslee.audiotag.tag.Tag;import com.hadeslee.audiotag.tag.TagException;import com.hadeslee.audiotag.tag.ape.APEv2Tag;import com.hadeslee.audiotag.tag.id3.ID3v23Tag;import com.hadeslee.audiotag.tag.id3.ID3v24Tag;import com.hadeslee.yoyoplayer.util.Config;import com.hadeslee.yoyoplayer.util.Util;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.lang.reflect.Method;import java.net.URL;import java.util.Iterator;import java.util.Map;import java.util.Vector;import java.util.logging.Level;import java.util.logging.Logger;import javax.sound.sampled.AudioFileFormat;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.UnsupportedAudioFileException;import org.tritonus.share.sampled.file.TAudioFileFormat;/** * Mpeg格式的音頻文件的信息讀取類 * @author hadeslee */@SuppressWarnings("unchecked")public class MpegInfo implements TagInfo {    private static final long serialVersionUID = 20071213L;    private static Logger log = Logger.getLogger(MpegInfo.class.getName());    protected int channels = -1;    protected String channelsMode = null;    protected String version = null;    protected int rate = 0;    protected String layer = null;    protected String emphasis = null;    protected int nominalbitrate = 0;    protected long total = 0;    protected String vendor = null;    protected String location = null;    protected long size = 0;    protected boolean copyright = false;    protected boolean crc = false;    protected boolean original = false;    protected boolean priv = false;    protected boolean vbr = false;    protected String track;    protected String year = null;    protected String genre = null;    protected String title = null;    protected String artist = null;    protected String album = null;    protected Vector comments = null;    private final String type = "mp3";    protected transient MP3AudioHeader header;//音頻文件頭    protected transient Tag tag;    /**     * Constructor.     */    public MpegInfo() {        super();    }    /**     * Load and parse MPEG info from File.     *     * @param input     * @throws IOException     */    public void load(File input) throws IOException, UnsupportedAudioFileException {        size = input.length();        location = input.getPath();        loadInfo(input);    }    /**     * Load and parse MPEG info from URL.     *     * @param input     * @throws IOException     * @throws UnsupportedAudioFileException     */    public void load(URL input) throws IOException, UnsupportedAudioFileException {        location = input.toString();        loadInfo(input);    }    /**     * Load and parse MPEG info from InputStream.     *     * @param input     * @throws IOException     * @throws UnsupportedAudioFileException     */    public void load(InputStream input) throws IOException, UnsupportedAudioFileException {        loadInfo(input);    }    /**     * Load info from input stream.     *     * @param input     * @throws IOException     * @throws UnsupportedAudioFileException     */    protected void loadInfo(InputStream input) throws IOException, UnsupportedAudioFileException {        AudioFileFormat aff = AudioSystem.getAudioFileFormat(input);        loadInfo(aff);    }    /**     * Load MP3 info from file.     *     * @param file     * @throws IOException     * @throws UnsupportedAudioFileException     */    protected void loadInfo(File file) throws IOException, UnsupportedAudioFileException {        try {            AudioFileFormat aff = AudioSystem.getAudioFileFormat(file);            loadInfo(aff);            MP3File mp3 = new MP3File(file, MP3File.LOAD_ALL, true);            header = mp3.getMP3AudioHeader();            readHead();            int tp = Config.getConfig().getReadTagOrder();            log.log(Level.INFO, "讀取順序是:" + tp);            switch (tp) {                case Config.APEv2_ID3v2_ID3v1:                    readAPEv2_ID3v2_ID3v1(mp3);                    break;                case Config.ID3v1_APEv2_ID3v2:                    readID3v1_APEv2_ID3v2(mp3);                    break;                case Config.ID3v1_ID3v2_APEv2:                    readID3v1_ID3v2_APEv2(mp3);                    break;                case Config.ID3v2_APEv2_ID3v1:                    readID3v2_APEv2_ID3v1(mp3);                    break;            }            if (tag == null) {                log.log(Level.SEVERE, "沒有合法的標(biāo)簽可讀!!");//                throw new UnsupportedAudioFileException("沒有標(biāo)簽");            } else {//否則就把標(biāo)簽讀出來                readTag();            }        } catch (TagException ex) {            throw new IOException(ex);        } catch (ReadOnlyFileException ex) {            throw new IOException(ex);        } catch (InvalidAudioFrameException ex) {            throw new IOException(ex);        }    }    private void readAPEv2_ID3v2_ID3v1(MP3File mp3) {        if (mp3.hasAPEv2Tag()) {            tag = mp3.getAPEv2Tag();        } else if (mp3.hasID3v2Tag()) {            tag = mp3.getID3v2Tag();        } else if (mp3.hasID3v1Tag()) {            tag = mp3.getID3v1Tag();        }    }    private void readID3v1_APEv2_ID3v2(MP3File mp3) {        if (mp3.hasID3v1Tag()) {            tag = mp3.getID3v1Tag();        } else if (mp3.hasAPEv2Tag()) {            tag = mp3.getAPEv2Tag();        } else if (mp3.hasID3v2Tag()) {            tag = mp3.getID3v2Tag();        }    }    private void readID3v1_ID3v2_APEv2(MP3File mp3) {        if (mp3.hasID3v1Tag()) {            tag = mp3.getID3v1Tag();        } else if (mp3.hasID3v2Tag()) {            tag = mp3.getID3v2Tag();        } else if (mp3.hasAPEv2Tag()) {            tag = mp3.getAPEv2Tag();        }    }    private void readID3v2_APEv2_ID3v1(MP3File mp3) {        System.out.println("讀id3v2...");        if (mp3.hasID3v2Tag()) {            System.out.println("有id3v2標(biāo)答........");            tag = mp3.getID3v2Tag();        } else if (mp3.hasAPEv2Tag()) {            tag = mp3.getAPEv2Tag();        } else if (mp3.hasID3v1Tag()) {            tag = mp3.getID3v1Tag();        }    }    /**     * 讀取標(biāo)簽,以替換以前讀的標(biāo)簽     */    private void readTag() {        //只有APE格式的標(biāo)簽是UTF-8的編碼,不用變格式,其它的都要做字符轉(zhuǎn)換        if (tag instanceof APEv2Tag) {            log.log(Level.INFO, "是APE的標(biāo)簽.......");            this.album = tag.getFirstAlbum();            this.artist = tag.getFirstArtist();            this.genre = tag.getFirstGenre();            this.track = tag.getFirstTrack();            if (comments == null) {                comments = new Vector();            }            comments.add(tag.getFirstComment());            this.title = tag.getFirstTitle();            this.year = tag.getFirstYear();        } else {            System.out.println("tag=" + tag.getClass());            this.album= getChineseString(tag.getFirstAlbum());            this.artist = getChineseString(tag.getFirstArtist());            this.genre = getChineseString(tag.getFirstGenre());            this.track = getChineseString(tag.getFirstTrack());            if (comments == null) {                comments = new Vector();            }            comments.add(getChineseString(tag.getFirstComment()));            this.title = getChineseString(tag.getFirstTitle());            this.year = getChineseString(tag.getFirstYear());//            if (Config.getConfig().getEncoding().equals("ISO8859-1")) {//                this.album = tag.getFirstAlbum();//                this.artist = tag.getFirstArtist();//                this.genre = tag.getFirstGenre();//                this.track = tag.getFirstTrack();//                if (comments == null) {//                    comments = new Vector();//                }//                comments.add(tag.getFirstComment());//                this.title = tag.getFirstTitle();//                this.year = tag.getFirstYear();//            } else {//                this.album = Util.convertString(tag.getFirstAlbum());//                this.artist = Util.convertString(tag.getFirstArtist());//                this.genre = Util.convertString(tag.getFirstGenre());//                this.track = tag.getFirstTrack();//                if (comments == null) {//                    comments = new Vector();//                }//                comments.add(Util.convertString(tag.getFirstComment()));//                this.title = Util.convertString(tag.getFirstTitle());//                this.year = Util.convertString(tag.getFirstYear());//            }        }    }    private String getChineseString(String source){        String temp=Util.convertString(source);        if(temp.indexOf("??")==-1&&temp.indexOf("?")==-1){            return temp;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品99国产精品日本| 久久久久久久久久久久久女国产乱 | 国产欧美日韩在线看| 美腿丝袜在线亚洲一区| 1000精品久久久久久久久| 国产欧美一区二区精品性色超碰| 91精品午夜视频| 欧美videossexotv100| 久久久久久**毛片大全| 亚洲午夜激情网站| 在线播放91灌醉迷j高跟美女| 亚洲一区在线观看免费| 日韩一区二区影院| 国产a久久麻豆| 亚洲欧洲av另类| 91精品国产一区二区三区| 国产一区二区三区综合| 亚洲激情综合网| 日韩一区二区免费高清| 99在线视频精品| 亚洲色欲色欲www| 欧美三级日韩三级国产三级| 久久精品久久精品| 中文字幕一区日韩精品欧美| 欧美情侣在线播放| 国产精品一区三区| 亚洲一区在线视频| 国产视频视频一区| 欧美日韩免费一区二区三区| 国产一区二区三区观看| 亚洲一区自拍偷拍| 欧美国产精品中文字幕| 欧美麻豆精品久久久久久| 国产91在线看| 青青草精品视频| 亚洲视频一区二区在线| 久久亚洲捆绑美女| 欧美三级视频在线播放| 成人一二三区视频| 精品在线亚洲视频| 亚洲宅男天堂在线观看无病毒| 久久久国产一区二区三区四区小说| 91久久线看在观草草青青| 国产一区二区主播在线| 亚洲国产一区二区a毛片| 国产日韩v精品一区二区| 欧美日韩国产一级| 99精品视频在线播放观看| 国内精品国产三级国产a久久| 亚洲成人av免费| 亚洲日本va午夜在线影院| 26uuu精品一区二区| 欧美一级片在线看| 欧美视频一区二区三区| av在线不卡电影| 大陆成人av片| 国产美女娇喘av呻吟久久| 久久99精品久久久久| 懂色av中文字幕一区二区三区| 欧美精品在线一区二区三区| 91精品国产综合久久蜜臀| 91美女视频网站| 成人永久aaa| 国产精品一区二区在线播放| 久久99精品久久久久婷婷| 日本vs亚洲vs韩国一区三区二区| 亚洲一区二区中文在线| 亚洲免费观看高清完整版在线观看 | 亚洲福中文字幕伊人影院| 亚洲色图视频网站| 综合色天天鬼久久鬼色| 中文字幕va一区二区三区| 日本一区二区三区电影| 国产农村妇女毛片精品久久麻豆| 国产丝袜欧美中文另类| 久久精品亚洲精品国产欧美kt∨| 欧美精品一区二区三区蜜桃视频 | 精品国产一区二区三区四区四 | 久久精品国产**网站演员| 老司机午夜精品| 久久国产日韩欧美精品| 久久成人精品无人区| 国产在线不卡一区| 国产成人亚洲精品青草天美| 成人黄动漫网站免费app| 9l国产精品久久久久麻豆| 99re热这里只有精品免费视频| 99精品视频在线播放观看| 91极品美女在线| 在线不卡欧美精品一区二区三区| 91精品欧美综合在线观看最新| 日韩欧美激情四射| 中文字幕精品一区二区精品绿巨人| 欧美国产亚洲另类动漫| 一区二区在线观看免费视频播放| 亚洲一级电影视频| 久久国产精品99精品国产| 国产成人鲁色资源国产91色综 | 裸体健美xxxx欧美裸体表演| 国产成人在线视频网站| 在线一区二区三区做爰视频网站| 日本丰满少妇一区二区三区| 欧美久久婷婷综合色| 精品福利av导航| 亚洲人成网站精品片在线观看| 一二三区精品视频| 免费看日韩a级影片| 成人天堂资源www在线| 欧洲生活片亚洲生活在线观看| 欧美三区在线视频| 免费亚洲电影在线| 亚洲一区二区三区四区在线免费观看 | 成人高清视频在线| 欧美日韩精品一区二区三区蜜桃| 久久婷婷国产综合国色天香| 亚洲乱码日产精品bd| 最新国产の精品合集bt伙计| 色哟哟亚洲精品| 精品国内片67194| 一区二区理论电影在线观看| 精品无人区卡一卡二卡三乱码免费卡| 成人黄色网址在线观看| 欧美精品国产精品| 中文字幕中文字幕一区| 天天免费综合色| av在线综合网| 精品国产a毛片| 亚洲一区二区欧美激情| 国产精品一区二区久久精品爱涩| 在线观看成人小视频| 国产女人水真多18毛片18精品视频| 调教+趴+乳夹+国产+精品| 成人国产一区二区三区精品| 欧美xingq一区二区| 一区二区成人在线观看| 高清在线不卡av| 欧美电影精品一区二区| 亚洲国产一区二区在线播放| 99热精品一区二区| 久久久久久久久岛国免费| 午夜精品一区二区三区免费视频 | 免费在线观看不卡| 欧美在线不卡视频| ...av二区三区久久精品| 国产乱码精品一区二区三区五月婷| 色8久久人人97超碰香蕉987| 欧美激情自拍偷拍| 国产精品影视天天线| 日韩欧美综合在线| 天堂影院一区二区| 欧美亚洲国产一区二区三区va| 国产精品久久福利| 国产成人在线色| 国产欧美一区二区三区沐欲| 国产乱子轮精品视频| 欧美成人女星排名| 美女一区二区视频| 91精品国产福利在线观看 | 自拍偷自拍亚洲精品播放| 粉嫩av一区二区三区| 国产欧美精品区一区二区三区 | 91精品福利在线| 亚洲欧美日韩久久| 99久久综合狠狠综合久久| 国产精品无人区| 大陆成人av片| 自拍偷拍国产亚洲| 91黄视频在线观看| 伊人一区二区三区| 欧美日韩激情一区二区三区| 天堂精品中文字幕在线| 91精品国产综合久久久久久久| 日韩精品五月天| 日韩欧美高清dvd碟片| 国产综合成人久久大片91| 精品国产免费一区二区三区香蕉| 狠狠色2019综合网| 国产欧美日韩在线看| 99热99精品| 亚洲老妇xxxxxx| 欧美日韩视频一区二区| 麻豆精品一区二区三区| 日韩一二三四区| 国产寡妇亲子伦一区二区| 中文字幕在线不卡国产视频| 色欧美片视频在线观看| 午夜精品久久久久久不卡8050| 777欧美精品| 国产一区二区主播在线| 亚洲视频免费看| 欧美日韩精品三区| 加勒比av一区二区| 亚洲婷婷国产精品电影人久久| 欧日韩精品视频| 狠狠狠色丁香婷婷综合激情| 国产精品九色蝌蚪自拍| 欧美群妇大交群中文字幕| 精品制服美女久久| 亚洲欧美中日韩| 678五月天丁香亚洲综合网|