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

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

?? mp3helper.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.*;
import com.anotherbigidea.flash.writers.*;
import com.anotherbigidea.flash.movie.*;

/**
 * MP3 Utilities
 */
public class MP3Helper
{
    public static Sound getSoundDefinition( InputStream mp3 ) throws IOException
    {
        MP3Frame frame = MP3Frame.readFrame( mp3 );
        
        int samplesPerFrame = frame.getSamplesPerFrame();
        int sampleRate = frame.getSampleRate();
        
        boolean isStereo = frame.isStereo();
        
        int rate = SWFConstants.SOUND_FREQ_5_5KHZ;
        if     ( sampleRate >= 44000 ) rate = SWFConstants.SOUND_FREQ_44KHZ;
        else if( sampleRate >= 22000 ) rate = SWFConstants.SOUND_FREQ_22KHZ;
        else if( sampleRate >= 11000 ) rate = SWFConstants.SOUND_FREQ_11KHZ;        
        
        int sampleCount = 0;
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        
        while( true && frame != null )
        {        
            //--Write DelaySeek of zero
            bout.write(0);
            bout.write(0);
                    
            while( frame != null )
            {
                sampleCount += frame.getSamplesPerFrame();
                frame.write( bout );
                frame = MP3Frame.readFrame( mp3 );
            }
            
            bout.flush();
        }
        
        mp3.close();     
        
        byte[] data = bout.toByteArray();        
        
        return new Sound( SWFConstants.SOUND_FORMAT_MP3, rate, true, isStereo, sampleCount, data );
    }
    
    /**
     * Read an MP3 input file.
     * Write the Sound Stream Header to the SWFTagTypes interface.
     * Return a list of byte[] - one for each Streaming Sound Block
     */
    public static SoundStreamHead streamingBlocks( InputStream mp3, int framesPerSecond, ArrayList blocks ) 
        throws IOException
    {
        MP3Frame frame = MP3Frame.readFrame( mp3 );
        
        int samplesPerFrame = frame.getSamplesPerFrame();
        int sampleRate = frame.getSampleRate();
        int totalSamples = 0;
        
        int samplesPerSWFFrame = sampleRate / framesPerSecond;
                
        boolean isStereo = frame.isStereo();
        
        int rate = SWFConstants.SOUND_FREQ_5_5KHZ;
        if     ( sampleRate >= 44000 ) rate = SWFConstants.SOUND_FREQ_44KHZ;
        else if( sampleRate >= 22000 ) rate = SWFConstants.SOUND_FREQ_22KHZ;
        else if( sampleRate >= 11000 ) rate = SWFConstants.SOUND_FREQ_11KHZ;
        
        SoundStreamHead head = new SoundStreamHead( rate, true, isStereo, SWFConstants.SOUND_FORMAT_MP3,
                                                    rate, true, isStereo, samplesPerSWFFrame );
        
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        
        while( frame != null )
        {        
            //--Write dummy sample count
            bout.write(0);
            bout.write(0);
            
            //--Write DelaySeek of zero
            bout.write(0);
            bout.write(0);
        
            int sampleCount = 0;
            int targetSampleCount = samplesPerSWFFrame * (blocks.size() + 1);
            
            while( frame != null && ( totalSamples + sampleCount < targetSampleCount ) )
            {
                sampleCount += frame.getSamplesPerFrame();
                frame.write( bout );
                frame = MP3Frame.readFrame( mp3 );
            }
            
            bout.flush();
            byte[] bytes = bout.toByteArray();
            bytes[0] = (byte)(sampleCount & 0xFF);
            bytes[1] = (byte)(sampleCount >> 8);
            
            totalSamples += sampleCount;
            
            blocks.add( bytes );
            bout.reset();            
        }
        
        mp3.close();
        
        double soundLength = ((double)totalSamples) / ((double)sampleRate);
        int requiredFrames = (int)(soundLength * framesPerSecond);
        
        System.out.println( "Required=" + requiredFrames + " actual=" + blocks.size() );
        
        //--Add null blocks to the end to make up the correct number of SWF frames
        while( blocks.size() < requiredFrames ) blocks.add( null );
        
        return head;
    }
    
    /**
     * Makes a streaming SWF from an MP3.
     * args[0] = MP3 in filename
     * args[1] = SWF out filename
     */
    public static void main( String[] args ) throws IOException
    {
        FileInputStream mp3 = new FileInputStream( args[0] );
        
        ArrayList blocks = new ArrayList();
        SoundStreamHead head = MP3Helper.streamingBlocks( mp3, 30, blocks );
        
        Movie movie = new Movie();
        movie.setFrameRate( 30 );

        Frame f = movie.appendFrame();
        f.setSoundHeader( head );
        
        for( Iterator i = blocks.iterator(); i.hasNext(); )
        {
            byte[] data = (byte[])i.next();
            f.setSoundData( data );
            f = movie.appendFrame();
        }
        
        movie.write( args[1] );
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲不卡av一区二区三区| 国产情人综合久久777777| 国产在线乱码一区二区三区| 最新成人av在线| 欧美变态tickling挠脚心| 99久久免费国产| 国产精品影视天天线| 亚洲成人动漫在线观看| 国产精品无遮挡| 欧美成人vps| 欧美日韩视频第一区| av一区二区三区四区| 国产一区二区三区四区五区美女| 亚洲mv在线观看| 国产精品久久久久影院亚瑟| 精品国产乱码久久久久久闺蜜| 欧美午夜一区二区| 天堂影院一区二区| 国产欧美一区二区在线| 欧美日韩欧美一区二区| 99久久久久免费精品国产| 国产精品羞羞答答xxdd | 亚洲一区二区三区激情| 国产精品久久久久影院色老大| 精品国产一区二区三区忘忧草| 欧美日韩国产一二三| 97精品视频在线观看自产线路二 | 欧洲色大大久久| 成人激情av网| 国产成人99久久亚洲综合精品| 美日韩一区二区| 日韩主播视频在线| 亚洲成年人影院| 一区二区三区在线视频观看| 亚洲欧美视频在线观看视频| 国产精品拍天天在线| 国产精品动漫网站| 国产精品色一区二区三区| 国产性做久久久久久| 久久色视频免费观看| www国产成人免费观看视频 深夜成人网| 56国语精品自产拍在线观看| 欧美日本国产一区| 欧美女孩性生活视频| 6080yy午夜一二三区久久| 欧美一二三区在线观看| 日韩一区二区三区四区| 日韩一区二区三区高清免费看看| 欧美一区二区三区思思人| 日韩三级视频在线看| 精品国产免费一区二区三区香蕉 | 欧美一区二区三区免费在线看| 在线成人av影院| 欧美一区二区三区在线视频 | 日韩欧美亚洲国产另类| 日韩精品中文字幕一区二区三区| 日韩欧美成人一区| 国产日韩v精品一区二区| 中文字幕不卡的av| 亚洲精品综合在线| 日韩在线a电影| 国产一区二区导航在线播放| 成人av在线资源网| 欧美日韩免费观看一区三区| 91精品一区二区三区久久久久久| 久久伊99综合婷婷久久伊| 中文字幕av资源一区| 一区二区在线看| 免费在线观看成人| 国产成人99久久亚洲综合精品| 色婷婷综合久久久中文一区二区| 欧美一区二区三区四区在线观看| 国产亚洲精品超碰| 一区二区三区在线视频播放| 免费在线观看一区二区三区| 国产suv一区二区三区88区| 色综合欧美在线| 日韩欧美一区二区在线视频| 国产日韩三级在线| 亚洲制服丝袜av| 精品在线免费观看| 91美女在线看| 欧美电影免费观看高清完整版在| 亚洲欧洲在线观看av| 奇米影视一区二区三区| 成人av在线影院| 欧美一区二区免费视频| 国产精品美女www爽爽爽| 五月婷婷综合激情| 成人做爰69片免费看网站| 欧美日韩在线播放| 亚洲国产精品激情在线观看| 日韩成人av影视| 99在线精品观看| 久久久久综合网| 日韩中文字幕不卡| 91美女福利视频| 久久婷婷国产综合国色天香| 性久久久久久久久| 成人黄色免费短视频| 秋霞国产午夜精品免费视频| 久久精品久久精品| 91丨国产丨九色丨pron| 精品国产一区二区三区四区四| 亚洲欧美日韩一区二区三区在线观看 | 粉嫩久久99精品久久久久久夜| 欧美日精品一区视频| 国产精品久久99| 激情深爱一区二区| 欧美一激情一区二区三区| 亚洲精品视频一区二区| 国产91对白在线观看九色| 日韩亚洲欧美成人一区| 亚洲韩国精品一区| 91小视频免费看| 中文一区一区三区高中清不卡| 美国十次综合导航| 欧美日本不卡视频| 一区2区3区在线看| 91小视频免费观看| 国产精品伦理在线| 成人免费视频一区| 国产欧美精品日韩区二区麻豆天美| 美女一区二区视频| 日韩网站在线看片你懂的| 亚洲成人精品影院| 欧美人与z0zoxxxx视频| 亚洲成人在线观看视频| 91极品美女在线| 一区二区三区蜜桃网| 色综合久久中文综合久久牛| 中文字幕一区二区在线观看| 丰满少妇久久久久久久| 国产精品亲子乱子伦xxxx裸| 国产sm精品调教视频网站| 国产精品伦理在线| 97成人超碰视| 亚洲免费色视频| 色8久久精品久久久久久蜜| 亚洲免费av高清| 在线观看日韩高清av| 亚洲福中文字幕伊人影院| 欧美日本精品一区二区三区| 日本不卡一区二区三区高清视频| 777亚洲妇女| 精品一区精品二区高清| 久久久精品国产免大香伊| 国产一区999| 国产精品国产自产拍高清av王其 | 美国av一区二区| 日韩免费视频一区二区| 国产一区二区0| 国产精品免费看片| 一本大道久久a久久精二百| 一区二区三区日韩欧美| 欧美美女直播网站| 精品一区中文字幕| 国产精品久久久久aaaa樱花| 色av综合在线| 日韩二区在线观看| 国产视频911| 91视频国产观看| 天天做天天摸天天爽国产一区| 日韩美女在线视频| 粉嫩13p一区二区三区| 亚洲欧洲制服丝袜| 欧美精品乱码久久久久久| 精品综合久久久久久8888| 亚洲欧洲av在线| 在线成人av网站| 高清成人在线观看| 亚洲第一福利视频在线| 欧美电影免费观看完整版| 成人av集中营| 午夜久久久久久| 久久精品一区二区| 在线观看免费亚洲| 国产一区二区在线电影| 亚洲人妖av一区二区| 在线综合视频播放| 成人av在线播放网站| 奇米精品一区二区三区在线观看| 欧美—级在线免费片| 欧美日韩一级片在线观看| 国产精品亚洲а∨天堂免在线| 亚洲精品乱码久久久久久日本蜜臀| 日韩午夜av一区| 色香蕉成人二区免费| 精品一二三四在线| 亚洲亚洲人成综合网络| 国产亚洲精品aa午夜观看| 9191久久久久久久久久久| 成人av网址在线| 狠狠网亚洲精品| 日韩av一二三| 亚洲精品国产成人久久av盗摄| xf在线a精品一区二区视频网站| 91国产成人在线| 国产99久久久国产精品免费看| 日韩精品电影在线|