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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mp3frame.java

?? java版本的flash文件(swf)播放器
?? JAVA
字號:
/****************************************************************
 * Copyright (c) 2001, David N. Main, All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or
 * without modification, are permitted provided that the 
 * following conditions are met:
 *
 * 1. Redistributions of source code must retain the above 
 * copyright notice, this list of conditions and the following 
 * disclaimer. 
 * 
 * 2. Redistributions in binary form must reproduce the above 
 * copyright notice, this list of conditions and the following 
 * disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * 3. The name of the author may not be used to endorse or 
 * promote products derived from this software without specific 
 * prior written permission. 
 * 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
 * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ****************************************************************/
package com.anotherbigidea.flash.sound;

import java.io.*;
import java.util.*;
import com.anotherbigidea.io.*;
import com.anotherbigidea.flash.*;
import com.anotherbigidea.flash.structs.*;
import com.anotherbigidea.flash.interfaces.*;

/**
 * An MP3 sound data frame.
 */
public class MP3Frame
{
    public static final int MPEG_Version_2_5 = 0;
    public static final int MPEG_Version_2   = 2;
    public static final int MPEG_Version_1   = 3;
    
    public static final int MPEG_Layer_3 = 1;
    public static final int MPEG_Layer_2 = 2;
    public static final int MPEG_Layer_1 = 3;

    public static final int CHANNEL_MODE_STEREO       = 0;
    public static final int CHANNEL_MODE_JOINT_STEREO = 1;
    public static final int CHANNEL_MODE_DUAL_CHANNEL = 2;
    public static final int CHANNEL_MODE_MONO         = 3;
    
    public static final int EMPHASIS_NONE     = 0;
    public static final int EMPHASIS_50_15_MS = 1;
    public static final int EMPHASIS_RESERVED = 2;
    public static final int EMPHASIS_CCIT_J17 = 3;
    
    protected static final int[] MPEG1BitRates = { 0, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, 0 }; 
    protected static final int[] MPEG2BitRates = { 0,  8000, 16000, 24000, 32000, 40000, 48000, 56000,  64000,  80000,  96000, 112000, 128000, 144000, 160000, 0 };
        
    protected static final int[] MPEG10SampleRates = { 44100, 48000, 32000, 0 };
    protected static final int[] MPEG20SampleRates = { 22050, 24000, 16000, 0 };
    protected static final int[] MPEG25SampleRates = { 11025, 12000,  8000, 0 };
    
    private static int FRAME_SAMPLES_MPEG_1 = 1152;
    private static int FRAME_SAMPLES_MPEG_2 = 576;    
    
    protected int     mpegVersion;
    protected int     mpegLayer;
    protected boolean isProtected;
    protected int     bitRate;
    protected int     sampleRate;
    protected boolean padded;
    protected int     channelMode;
    protected int     modeExtension;
    protected boolean copyrighted;
    protected boolean original;
    protected int     emphasis;
    protected byte[]  data;
    
    protected int bit_rate;
    protected int sample_rate;
    
    public int getBitRate()    { return bitRate; }
    public int getSampleRate() { return sampleRate; }
    public boolean isStereo()  { return channelMode != this.CHANNEL_MODE_MONO; }
    public int getDataLength() { return data.length; }
    
    public int getSamplesPerFrame() 
    { 
        if( mpegVersion == this.MPEG_Version_1 ) return this.FRAME_SAMPLES_MPEG_1;
        else return this.FRAME_SAMPLES_MPEG_2;
    }
    
    /**
     * Read the next MP3 frame from the stream - return null if no more
     */
    public static MP3Frame readFrame( InputStream in ) throws IOException
    {
        MP3Frame frame = new MP3Frame();
        
        while( true )
        {
            int b = in.read();
            
            if( b < 0 ) return null;
            if( b == 0xFF )
            {
                b = in.read();
 
                if( b < 0 ) return null;
                if( (b & 0xE0) != 0xE0 ) continue;

                frame.mpegVersion = ( b & 0x18 ) >> 3;
                frame.mpegLayer   = ( b & 0x06 ) >> 1;        
                frame.isProtected = ( b & 1 ) == 0;
 
                if( frame.mpegLayer != MPEG_Layer_3 ) continue;
                break;
            }
        }
 
        //skip the CRC
        if( frame.isProtected )
        {
            in.read();
            in.read();
        }
        
        int b = in.read();
        if( b < 0 ) return null;
        
        frame.bit_rate = ( b & 0xF0 ) >> 4;
         
        if( frame.mpegVersion == MPEG_Version_1 ) frame.bitRate = MPEG1BitRates[frame.bit_rate];
        else                                      frame.bitRate = MPEG2BitRates[frame.bit_rate];
        
        frame.sample_rate = ( b & 0x0C ) >> 2;
        if     ( frame.mpegVersion == MPEG_Version_1 ) frame.sampleRate = MPEG10SampleRates[frame.sample_rate];
        else if( frame.mpegVersion == MPEG_Version_2 ) frame.sampleRate = MPEG20SampleRates[frame.sample_rate];
        else                                           frame.sampleRate = MPEG25SampleRates[frame.sample_rate];
        
        frame.padded = ( b & 2 ) != 0;
        
        b = in.read();
        if( b < 0 ) return null;

        frame.channelMode   = ( b & 0xC0 ) >> 6;
        frame.modeExtension = ( b & 0x30 ) >> 4;
        
        frame.copyrighted = (( b & 0x80 ) >> 3) != 0;
        frame.original    = (( b & 0x40 ) >> 2) != 0;
        
        frame.emphasis = b & 0x02;
        
        int size = (((frame.mpegVersion == MPEG_Version_1 ? 144 : 72) 
                     * frame.bitRate ) / frame.sampleRate ) + 
                       (frame.padded ? 1 : 0) - 4;
        
        byte[] data = new byte[size];
        int read = 0;
        int r;
        
        while( (r = in.read( data, read, size - read )) >= 0 && read < size )
        {
            read += r;
        }
        
        if( read != size ) throw new IOException( "Unexpected end of MP3 data" );
        
        frame.data = data;   
       
        //System.out.print( "." );
        return frame;
    }
    
    public MP3Frame( ) {}
    
    public void write( OutputStream out ) throws IOException
    {
        out.write( 0xff );
                
        int b = 0xE1;
        b |= this.mpegVersion << 3;
        b |= this.mpegLayer   << 1;
        out.write( b );
        
        b  = bit_rate << 4;
        b |= sample_rate << 2;
        if( padded ) b |= 2;
        out.write( b );
        
        b  = channelMode   << 6;
        b |= modeExtension << 4;
        b |= emphasis;
        out.write( b );
        
        out.write( data );
    }
    
    public String toString()
    {
        String version = null;
        if     ( mpegVersion == this.MPEG_Version_1   ) version = "1";
        else if( mpegVersion == this.MPEG_Version_2   ) version = "2";
        else if( mpegVersion == this.MPEG_Version_2_5 ) version = "2.5";
        
        return "MP3 Frame: " +                
               " version=" + version +
               " bit-rate=" + bitRate +   
               " sample-rate=" + sampleRate +
               " stereo=" +  (channelMode != this.CHANNEL_MODE_MONO);
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美tickle裸体挠脚心vk| 国产成人精品一区二区三区网站观看| 欧美一级欧美三级| 日本丰满少妇一区二区三区| 成人av网站在线| www.久久久久久久久| 成人免费看视频| 欧美色图一区二区三区| 91丨porny丨最新| 日本道精品一区二区三区| 色伊人久久综合中文字幕| 色哟哟一区二区| 在线亚洲欧美专区二区| 欧美三级电影在线看| 欧美蜜桃一区二区三区| 日韩午夜电影av| 国产日韩欧美激情| 亚洲三级在线观看| 亚洲 欧美综合在线网络| 调教+趴+乳夹+国产+精品| 奇米四色…亚洲| 国产二区国产一区在线观看| 成人永久aaa| 欧美优质美女网站| 日韩一二三区不卡| 国产精品色在线| 亚洲一区自拍偷拍| 精品亚洲成a人| 91视频国产观看| 91精品国产综合久久国产大片 | 成人av电影在线观看| 99re亚洲国产精品| 91精品国产高清一区二区三区| 国产精品萝li| 亚洲电影中文字幕在线观看| 精品亚洲porn| 91亚洲精品乱码久久久久久蜜桃| 911精品国产一区二区在线| 欧美变态tickling挠脚心| 亚洲丝袜自拍清纯另类| 免费在线看成人av| 97se狠狠狠综合亚洲狠狠| 777亚洲妇女| 日韩久久一区二区| 激情五月激情综合网| 日本精品一区二区三区高清| 日韩美女在线视频 | 性做久久久久久| 国产露脸91国语对白| 在线视频亚洲一区| 欧美国产日产图区| 久久成人麻豆午夜电影| 在线观看91精品国产入口| 久久精品夜色噜噜亚洲a∨| 亚洲成人中文在线| 91网上在线视频| 国产亚洲婷婷免费| 久久91精品久久久久久秒播| 在线这里只有精品| 国产精品国产三级国产三级人妇| 久久成人久久爱| 日韩一本二本av| 奇米色一区二区三区四区| 在线中文字幕一区| 一区二区三区精品视频在线| 91在线国内视频| 久久久国际精品| 久久99深爱久久99精品| 69堂精品视频| 日本亚洲免费观看| 在线电影院国产精品| 偷拍日韩校园综合在线| 色88888久久久久久影院野外| 亚洲天堂网中文字| 欧美视频一区在线| 亚洲色图色小说| 99久久久无码国产精品| 中文字幕中文字幕中文字幕亚洲无线| 国产中文字幕一区| 国产丝袜在线精品| 国产成人免费在线视频| 国产清纯白嫩初高生在线观看91| 国产精品资源在线| 欧美高清在线一区| 97久久超碰国产精品| 1区2区3区欧美| 在线观看不卡视频| 日韩二区三区四区| 久久中文字幕电影| 风间由美一区二区三区在线观看 | 国产综合色产在线精品| 日韩欧美国产精品一区| 国产在线精品一区二区三区不卡 | 欧美精品高清视频| 奇米综合一区二区三区精品视频| 精品捆绑美女sm三区| 国产宾馆实践打屁股91| 亚洲精品水蜜桃| 久久老女人爱爱| 色综合久久中文字幕综合网| 午夜欧美2019年伦理| 欧美一区二区三区爱爱| 国产不卡一区视频| 亚洲国产wwwccc36天堂| 精品国产乱码久久久久久1区2区 | 综合欧美一区二区三区| 欧美亚洲尤物久久| 极品尤物av久久免费看| 亚洲情趣在线观看| 精品日韩一区二区三区| zzijzzij亚洲日本少妇熟睡| 亚洲国产乱码最新视频 | 色呦呦国产精品| 黄网站免费久久| 曰韩精品一区二区| 26uuu欧美| 欧美色男人天堂| 99视频精品在线| 麻豆精品久久久| 一区二区三区中文字幕电影 | 久久这里只精品最新地址| 欧美亚洲国产一区二区三区va| 免费在线成人网| 亚洲欧洲av另类| 久久蜜桃av一区精品变态类天堂 | 国产suv精品一区二区6| 亚洲成人一区二区| 亚洲欧美在线观看| 久久久美女毛片| 91麻豆精品国产综合久久久久久| yourporn久久国产精品| 精品一区二区在线观看| 日韩福利电影在线| 亚洲国产另类av| 一区二区三区日韩精品| 最新日韩在线视频| 欧美高清在线视频| 久久精品一区二区| 精品久久久久av影院| 欧美老肥妇做.爰bbww| 91福利国产成人精品照片| 成人aa视频在线观看| 粉嫩蜜臀av国产精品网站| 久久99久国产精品黄毛片色诱| 日日夜夜免费精品视频| 亚洲一级二级在线| 亚洲一区二区在线免费观看视频| 亚洲欧洲韩国日本视频| 中文字幕亚洲一区二区av在线| 国产日韩欧美a| 久久久不卡网国产精品一区| 久久综合九色欧美综合狠狠| 欧美www视频| 国产日韩欧美高清在线| 中日韩av电影| 国产精品色噜噜| 国产精品卡一卡二| 亚洲人成网站色在线观看| 国产精品美女久久久久aⅴ | 欧美日韩一区三区四区| 一本久道中文字幕精品亚洲嫩| 91亚洲午夜精品久久久久久| 色中色一区二区| 在线中文字幕一区| 51午夜精品国产| 精品精品国产高清a毛片牛牛| 日韩欧美成人一区二区| 精品国产乱码91久久久久久网站| 日韩欧美电影在线| 国产亚洲精品aa| 中文字幕中文在线不卡住| 亚洲丝袜制服诱惑| 日韩av电影一区| 国产剧情一区在线| 99久久免费视频.com| 欧美性一级生活| 日韩欧美在线网站| 国产色婷婷亚洲99精品小说| 亚洲日本va午夜在线影院| 亚洲国产精品久久久久婷婷884| 午夜亚洲国产au精品一区二区| 蜜臀久久99精品久久久画质超高清 | 91视频免费看| 欧美日韩免费观看一区三区| 日韩欧美电影在线| 国产精品久久三| 丝袜a∨在线一区二区三区不卡| 精品一区二区在线视频| 色综合久久久久久久久| 日韩欧美的一区| 亚洲精选视频在线| 韩日精品视频一区| 色久综合一二码| 国产亚洲精品久| 亚洲成在线观看| 91亚洲精品久久久蜜桃| 久久久久一区二区三区四区| 一区二区三区四区不卡在线| 久久不见久久见免费视频7| 91麻豆免费在线观看|