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

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

?? rawhelper.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.movie.*;
import com.anotherbigidea.flash.structs.*;
import com.anotherbigidea.flash.interfaces.*;
import com.anotherbigidea.flash.writers.*;
import javax.sound.sampled.*;

/**
 * Raw Audio Utilities
 */
public class RawHelper
{
    /**
     * Read an audio input file that is supported by the Java Sound API
     * @param soundBlocks used to return the sound blocks (byte[]) - can be null
     */
    public static SoundStreamHead streamingBlocks( InputStream audioFile, 
                                                   int framesPerSecond, 
                                                   ArrayList soundBlocks ) 
        throws IOException, UnsupportedAudioFileException
    {                                        
        AudioInputStream audioIn = AudioSystem.getAudioInputStream( audioFile );
        //audioIn = AudioSystem.getAudioInputStream( format, audioIn );
        
        AudioFormat format = audioIn.getFormat();
        int frameSize = format.getFrameSize();
        boolean isStereo = format.getChannels() == 2;
        boolean is16Bit  = format.getSampleSizeInBits() > 8;
        int sampleRate   = (int)format.getSampleRate();
        
        //System.out.println( format );
        
        int rate = SWFConstants.SOUND_FREQ_5_5KHZ;
        
        if     ( sampleRate >= 44000 ) sampleRate = 44000;
        else if( sampleRate >= 22000 ) sampleRate = 22000;
        else if( sampleRate >= 11000 ) sampleRate = 11000;
        else sampleRate = 5500;

        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 samplesPerFrame = sampleRate / framesPerSecond;
        int blockSize       = samplesPerFrame * (is16Bit ? 2 : 1 ) * (isStereo ? 2 : 1 );
               
        SoundStreamHead soundHead = new SoundStreamHead( rate, is16Bit, isStereo,
                                                         SWFConstants.SOUND_FORMAT_RAW,
                                                         rate, is16Bit, isStereo, 
                                                         samplesPerFrame );
        
        if( soundBlocks == null ) return soundHead;
        
        ByteArrayOutputStream bout = new ByteArrayOutputStream( blockSize + 1000 );
        
        while( true  )
        {        
            bout.reset();
            
            byte[] b = new byte[ frameSize ];
            int num  = 0;
            int read = 0;

            while( num < blockSize )
            {
                read = 0;
                
                while( (read = audioIn.read( b, read, frameSize-read )) < frameSize && read != -1 );
                
                if( read == -1 ) break;
                
                bout.write( b );
                num += read;
            }
            
            //pad the block with zeroes
            while( num < blockSize )
            {
                bout.write(0x80);
                num++;
            }
                
            soundBlocks.add( bout.toByteArray() );
            
            if( read == -1 ) break;
        }
        
        return soundHead;
    }
    
    public static Sound getSoundDefinition( InputStream audioFile, int framesPerSecond) 
        throws IOException, UnsupportedAudioFileException
    {
        AudioInputStream audioIn = AudioSystem.getAudioInputStream( new BufferedInputStream( audioFile ));
        //audioIn = AudioSystem.getAudioInputStream( format, audioIn );
        
        AudioFormat format = audioIn.getFormat();
        int frameSize = format.getFrameSize();
        boolean isStereo = format.getChannels() == 2;
        boolean is16bit  = format.getSampleSizeInBits() > 8;
        int sampleRate   = (int)format.getSampleRate();
        
        //System.out.println( format );
        
        int rate = SWFConstants.SOUND_FREQ_5_5KHZ;
        
        if     ( sampleRate >= 44000 ) sampleRate = 44000;
        else if( sampleRate >= 22000 ) sampleRate = 22000;
        else if( sampleRate >= 11000 ) sampleRate = 11000;
        else sampleRate = 5500;

        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;        
                
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        ADPCMHelper.FramedInputStream in = new ADPCMHelper.FramedInputStream( audioIn, frameSize );
        int b = 0;
        int count = 0;
        
        while( (b = in.read()) >= 0 )
        {        
            count++;
            bout.write( b );            
        }
                
        int sampleCount = count;
        if( is16bit  ) sampleCount /= 2;
        if( isStereo ) sampleCount /= 2;
                
        byte[] soundData = bout.toByteArray();
        return new Sound( SWFConstants.SOUND_FORMAT_RAW, rate, is16bit, isStereo, sampleCount, soundData );
    }    
    
    /**
     * Makes a streaming SWF from a Java Sound compatible audio file.
     * args[0] = audio in filename
     * args[1] = SWF out filename
     */
    public static void main( String[] args ) throws Exception
    {
        InputStream audioFile     = new BufferedInputStream( new FileInputStream( args[0] ));
        SWFWriter       swfwriter = new SWFWriter( args[1] );
        
        SWFTagTypes tags = new TagWriter( swfwriter );
        
        tags.header( 5, -1, 200, 200, 12, -1 );
        tags.tagSetBackgroundColor( new Color(255,255,255));
        
        ArrayList blocks = new ArrayList();
                          
        SoundStreamHead header = streamingBlocks( audioFile, 12, blocks );
        audioFile.close();
        
        header.write( tags );
        
        for( Iterator it = blocks.iterator(); it.hasNext(); )
        {
            byte[] data = (byte[])it.next();
            
            tags.tagSoundStreamBlock( data );
            tags.tagShowFrame();
        }

        tags.tagEnd();
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情偷乱视频一区二区三区| 国产午夜精品理论片a级大结局| 日韩一级片在线观看| 欧美mv日韩mv国产网站| 久久久国产午夜精品 | 日本不卡一区二区三区 | 国产午夜精品福利| 一区二区三区四区不卡在线| 免费在线观看不卡| 国产成人av资源| 欧美亚洲自拍偷拍| 国产亚洲短视频| 亚洲国产成人高清精品| 极品尤物av久久免费看| 91香蕉国产在线观看软件| 欧美一区2区视频在线观看| 国产精品毛片久久久久久久| 亚洲国产日韩精品| 国产风韵犹存在线视精品| 欧美亚洲综合另类| 国产日本欧美一区二区| 天天操天天干天天综合网| 成人美女视频在线看| 欧美日韩精品福利| 国产精品欧美极品| 美女国产一区二区三区| 99久久777色| 精品成a人在线观看| 亚洲高清免费在线| 成人免费不卡视频| 26uuu另类欧美| 婷婷国产在线综合| 91一区二区在线| 久久色中文字幕| 日韩电影在线一区| 日本精品一区二区三区高清| 久久久久久久久99精品| 欧美aaaaa成人免费观看视频| 91视频国产观看| 国产日韩欧美亚洲| 久久66热re国产| 91精品福利在线一区二区三区 | 在线视频亚洲一区| 国产欧美综合在线观看第十页| 日韩福利视频导航| 欧美视频中文字幕| 亚洲精品你懂的| 不卡av免费在线观看| 久久久久久久久久久久久久久99 | 欧美成人r级一区二区三区| 亚洲猫色日本管| 国产尤物一区二区| 精品少妇一区二区三区在线视频| 亚洲电影一区二区| 91成人免费网站| 亚洲欧美色图小说| 粉嫩aⅴ一区二区三区四区| 欧美大黄免费观看| 青青草91视频| 91麻豆精品国产91久久久久| 亚洲第一激情av| 91国偷自产一区二区开放时间 | 欧美影院一区二区| 亚洲蜜臀av乱码久久精品| 99精品国产91久久久久久| 中文字幕乱码一区二区免费| 国产成人自拍网| 26uuu国产在线精品一区二区| 久久99精品国产麻豆不卡| 欧美一区二区视频免费观看| 日韩激情av在线| 7777女厕盗摄久久久| 奇米影视一区二区三区| 日韩一区二区在线播放| 蜜桃视频免费观看一区| 日韩精品综合一本久道在线视频| 蜜臀av性久久久久蜜臀av麻豆| 3751色影院一区二区三区| 日本中文字幕一区二区视频| 日韩一区二区电影网| 另类小说一区二区三区| 亚洲国产一区二区三区 | 天堂久久久久va久久久久| 欧美日韩视频在线第一区| 亚洲制服丝袜在线| 精品视频在线免费看| 日本不卡一二三区黄网| 欧美变态tickle挠乳网站| 国产乱码精品一区二区三区忘忧草| 欧美精品一区二区三区蜜桃| 极品少妇一区二区| 中文在线资源观看网站视频免费不卡 | 亚洲自拍偷拍综合| 欧美性受xxxx黑人xyx| 亚洲444eee在线观看| 91精品福利在线一区二区三区 | 欧美国产在线观看| 97se亚洲国产综合自在线观| 亚洲欧美激情一区二区| 欧美日韩在线综合| 蜜臀精品一区二区三区在线观看 | 成人精品电影在线观看| 综合久久久久综合| 欧美三级视频在线播放| 日韩福利电影在线| 久久婷婷国产综合精品青草| k8久久久一区二区三区| 一区二区三区免费| 欧美一级二级三级蜜桃| 成人精品国产福利| 午夜私人影院久久久久| 久久久久久一级片| 日本大香伊一区二区三区| 日韩精品成人一区二区三区| 国产亚洲综合在线| 一本到一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 91激情在线视频| 久久国产福利国产秒拍| 亚洲欧洲三级电影| 欧美一级免费观看| www.亚洲在线| 蜜桃视频第一区免费观看| 国产精品免费看片| 欧美肥妇bbw| 北条麻妃国产九九精品视频| 天天色图综合网| 国产精品第五页| 91精品在线一区二区| 成人av在线资源网站| 日本伊人午夜精品| 亚洲欧洲www| 日韩亚洲欧美一区二区三区| 91亚洲男人天堂| 久久69国产一区二区蜜臀| 亚洲一区二区不卡免费| 久久精品一区四区| 3d动漫精品啪啪一区二区竹菊| 99久久国产综合精品色伊| 美女视频网站黄色亚洲| 亚洲精品视频免费观看| 久久精品一二三| 欧美另类一区二区三区| 99久久综合国产精品| 国产一区在线看| 婷婷一区二区三区| 亚洲免费在线视频| 国产亚洲成av人在线观看导航| 777奇米成人网| 色妹子一区二区| 国产成人精品影院| 久久国产精品色婷婷| 亚洲国产另类精品专区| 亚洲丝袜精品丝袜在线| 久久久久久久综合| 91精品国产一区二区三区香蕉| 色就色 综合激情| 粉嫩绯色av一区二区在线观看 | 中文字幕av免费专区久久| 日韩欧美卡一卡二| 欧美日韩成人综合天天影院| 91香蕉视频mp4| 成人免费看视频| 国产激情视频一区二区在线观看 | 国产亚洲综合色| 欧美不卡一区二区| 欧美一区二区三区系列电影| 91久久精品国产91性色tv| 91啪亚洲精品| gogogo免费视频观看亚洲一| 国产成人综合自拍| 国产精品综合二区| 日本人妖一区二区| 日韩精品一区第一页| 午夜精品福利在线| 婷婷综合久久一区二区三区| 亚洲成a天堂v人片| 亚洲精品久久嫩草网站秘色| 玉足女爽爽91| 亚洲精品老司机| 一二三四社区欧美黄| 一区二区三区国产精华| 亚洲欧美另类小说视频| 亚洲自拍偷拍欧美| 亚洲一区二区欧美| 日韩精品一二三| 日韩精品一卡二卡三卡四卡无卡| 日韩av中文字幕一区二区| 日韩精品欧美精品| 日本一不卡视频| 久久 天天综合| 国产自产2019最新不卡| 国产精品资源在线看| 国产成人精品免费在线| 国产 日韩 欧美大片| 91一区二区三区在线观看| 日本高清不卡aⅴ免费网站| 欧美日韩国产区一| 欧美一区二区三级| 久久综合九色综合欧美98|