当前位置:文档之家› flex视频播放器(支持rtmp协议)开发代码

flex视频播放器(支持rtmp协议)开发代码

Flex视频播放器(支持rtmp协议)开发代码

开发工具:flash builder4.5 + red5服务器

建议参考之前阶段代码:

(1)flex视频播放器开发初级阶段代码:http://biz.doczj.com/doc/619637789.html,/detail/ll_jj_yy/

(2)支持rtmp协议,播放red5服务器上的flv视频文件.

直接来代码:

xmlns:s="library://http://biz.doczj.com/doc/619637789.html,/flex/spark"

xmlns:mx="library://http://biz.doczj.com/doc/619637789.html,/flex/mx"

minWidth="955" minHeight="600"

creationComplete="init();">

import flash.utils.setTimeout;

import mx.controls.Alert;

import mx.controls.sliderClasses.Slider;

import mx.events.SliderEvent;

[Embed(source="assets/videoIco/play_small.jpg")]

[Bindable]

private var playClass:Class;//播放图标样式

[Embed(source="assets/videoIco/pause.jpg")]

[Bindable]

private var pauseClass:Class;//暂停图标样式

[Embed(source="assets/videoIco/sound1.jpg")]

[Bindable]

private var sound:Class;//声音样式2(静音)

[Embed(source="assets/videoIco/sound2.jpg")]

[Bindable]

private var sound1:Class;//声音样式1

[Bindable]

private var _videoURL:String="rtmp://localhost:1935/live";//媒体路径

private var _videoName:String="1.flv";//播放视频名称

private var isPause:Boolean=false;//暂停状态

private var isSound:Boolean=true;//声音状态

private var isFullScreen:Boolean=false;//是否是全屏

[Bindable]

private var tmpSound:SoundTransform;//临时声音大小

[Bindable]

private var _playPosition:Number;//播放进度

private var _duration:Number;//定义播放时间

private var _nc:NetConnection;

private var _inNs:NetStream;

private var customClient:Object=new Object();

private var vi:Video;

private var flag:Boolean=false;//开始播放标志

private function init():void{

_nc=new NetConnection();//建立NetConnection对象

_nc.addEventListener(http://biz.doczj.com/doc/619637789.html,_STATUS,onNetStatusHandler);

_nc.client=this;

_nc.connect(_videoURL);

customClient.onMetaData=function(infoObject:Object):void{

vi.width=vdisplay.width;

vi.height=vdisplay.height;

vi.smoothing=true;

_duration=infoObject.duration;//获取视频持续时间

t_sh.maximum=_duration;//关联进度条最大值与视频总持续时间

th_sound.value=tmpSound.volume;

};

}

private function onNetStatusHandler(evt:NetStatusEvent):void{ switch(http://biz.doczj.com/doc/619637789.html,.code)

{

case"NetConnection.Connect.Success":

// Alert.show("连接RED5服务器成功!");

break;

case"NetStream.Play.Start":

trace("NetStream.Play.Start:");

break;

case"NetStream.Play.StreamNotFound":

trace("Unable to locate:"+_videoURL);

break;

default:

trace(http://biz.doczj.com/doc/619637789.html,.code);

}

}

public function onBWCheck(...arg):void{}

public function onBWDone(...arg):void{}

public function playButton():void{

//Alert.show(vdisplay.totalTime.toString());

if(!isPause){

if(!flag){

if(_nc==null){

init();

}

_inNs=new NetStream(_nc);

_inNs.addEventListener(http://biz.doczj.com/doc/619637789.html,_STATUS,onNetStatusHandler);

_inNs.client=customClient;

vi=new Video();

vi.attachNetStream(_inNs);

vdisplay.addChild(vi);

_inNs.play(_videoName);

flag=true;///已经开始播放标志

// Alert.show(tmpSound.volume.toString());

tmpSound=_inNs.soundTransform;

addEventListener(Event.ENTER_FRAME,onEnterFrame);

}

else

_inNs.resume();

playBtn.source=pauseClass;

isPause=true;

}

else

{

_inNs.pause();

playBtn.source=playClass;

isPause=false;

}

}

//时间格式操作

// private function formatTimes(value:int):String{

// var result:String=(value%60).toString();

// if(result.length==1){

// result=Math.floor(value/60).toString()+":0"+result;

// }

// else{

// result=Math.floor(value/60).toString()+":"+result;

// }

// return result;

// }

private function formatTime(time:Number):String

{

var min:Number=Math.floor(time/60);

var sec:Number=Math.floor(time%60);

var

timeResult:String=(min<10?"0"+min.toString():min.toString())+":"+

(sec<10?"0"+sec.toString():sec.toString());

return timeResult;

}

private function onEnterFrame(event:Event):void{

if(_duration>0&&_inNs.time>0){

t_sh.value=_inNs.time;

lbtime.text=formatTime(_inNs.time)+"/"+formatTime(_duration);

}

if(formatTime(_inNs.time)==formatTime(_duration)){

if(!flag){

removeEventListener(Event.ENTER_FRAME,onEnterFrame);

_inNs.close();

playBtn.source=playClass;

t_sh.value=0;

vdisplay.source="";

lbtime.text="";

isPause=false;

isSound=false;

}

setTimeout(function():void{flag=false;},1000);

}

}

private function display():void{

if(!isFullScreen){

stage.fullScreenSourceRect=new Rectangle(

vdisplay.x,vdisplay.y,vdisplay.width,vdisplay.height);

stage.displayState=StageDisplayState.FULL_SCREEN;

isFullScreen=true;

}

else

{

stage.displayState=StageDisplayState.NORMAL;

isFullScreen=false;

}

}

private function stopButton():void{

_inNs.close();

t_sh.value=0;

lbtime.text="";

removeEventListener(Event.ENTER_FRAME,onEnterFrame);

playBtn.source=playClass;

isPause=false;

flag=false;

}

private function closeSound():void{

if(isSound){

if(_inNs!=null){

var tmpSound1:SoundTransform=new SoundTransform(0);

_inNs.soundTransform=tmpSound1;

closeImg.source=sound;

th_sound.enabled=false;

isSound=false;

}

}

else

{

if(_inNs!=null){

_inNs.soundTransform=tmpSound;

closeImg.source=sound1;

th_sound.enabled=true;

isSound=true;

}

}

}

private function sound_thumbChanges(event:SliderEvent):void{ tmpSound.volume=th_sound.value;

_inNs.soundTransform=tmpSound;

}

private function thumbPress(event:SliderEvent):void{

_inNs.pause();

}

private function thumbRelease(event:SliderEvent):void{

_inNs.seek(t_sh.value);

_inNs.resume();

}

private function thumbChanges(event:SliderEvent):void{

_playPosition=t_sh.value;

_inNs.seek(_playPosition);

}

private function dataTipFormat(time:Number):String{

return formatTime(time);

}

]]>

autoPlay="false"

doubleClickEnabled="true"

doubleClick="display();"/>

change="sound_thumbChanges(event)"

value="0.35"/>

dataTipFormatFunction="dataTipFormat" horizontalCenter="6"

minimum="0" showTrackHighlight="true"

thumbPress="thumbPress(event)"

thumbRelease="thumbRelease(event)"

/>

Hope it helps!

建议查看--Flex支持rtmp协议简单播放:http://biz.doczj.com/doc/619637789.html,/detail/ll_jj_yy/4856506可部署web访问

rtmp流媒体协议

H5视频直播扫盲 1 H5到底能不能做视频直播 当然可以, H5火了这么久,涵盖了各个方面的技术。 对于视频录制,可以使用强大的webRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的技术,缺点是只在PC的chrome上支持较好,移动端支持不太理想。 对于视频播放,可以使用HLS(HTTP Live Streaming)协议播放直播流,ios和android都天然支持这种协议,配置简单,直接使用video标签即可。 webRTC兼容性: video标签播放hls协议视频:

1 2 3 4

Your browser does not support HTML5 video. 2 到底什么是HLS协议 简单讲就是把整个流分成一个个小的,基于HTTP的文件来下载,每次只下载一些,前面提到了用于H5播放直播视频时引入的一个.m3u8的文件,这个文件就是基于HLS协议,存放视频流元数据的文件。 每一个.m3u8文件,分别对应若干个ts文件,这些ts文件才是真正存放视频的数据,m3u8文件只是存放了一些ts文件的配置信息和相关路径,当视频播放时,.m3u8是动态改变的,video标签会解析这个文件,并找到对应的ts文件来播放,所以一般为了加快速度,.m3u8放在web服务器上,ts文件放在cdn上。 .m3u8文件,其实就是以UTF-8编码的m3u文件,这个文件本身不能播放,只是存放了播放信息的文本文件: 1 2 3 4 5#EXTM3U m3u文件头 #EXT-X-MEDIA-SEQUENCE 第一个TS分片的序列号#EXT-X-TARGETDURATION 每个分片TS的最大的时长#EXT-X-ALLOW-CACHE是否允许cache #EXT-X-ENDLISTm3u8文件结束符

java视频播放器源代码

import java.awt.*; import java.io.*; import java.util.*; import javax.media.*; import javax.media.format.*; import javax.swing.*; public class VideoPlayer implements ControllerListener { Vector audioCapDevList = null; Vector videoCapDevList = null; CaptureDeviceInfo audioCapDevInfo = null; CaptureDeviceInfo videoCapDevInfo = null; MediaLocator audioCapDevLoc = null; MediaLocator videoCapDevLoc = null; Player audioPlayer; Player videoPlayer; public void initAudioCapDevLoc() { //这里可以填写其它的音频编码格式,具体请看AudioFormat类 audioCapDevList = CaptureDeviceManager.getDeviceList(new AudioFormat( AudioFormat.LINEAR)); if ((audioCapDevList.size() > 0)) { //或许有几个CaptureDevice,这里取第一个 audioCapDevInfo = (CaptureDeviceInfo) audioCapDevList.elementAt(0); audioCapDevLoc = audioCapDevInfo.getLocator(); } else { System.out.println("找不到音频采集设备"); System.exit(0); } } public void initVideoCapDevLoc() { //这里可以填写其它的编码视频格式,具体请看VideoFormat类 videoCapDevList = CaptureDeviceManager.getDeviceList(new VideoFormat( VideoFormat.YUV)); if ((videoCapDevList.size() > 0)) {

各视频格式播放代码

1。avi格式 代码片断如下: <object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> <param name="ShowDisplay" value="0"> <param name="ShowControls" value="1"> <param name="AutoStart" value="1"> <param name="AutoRewind" value="0"> <param name="PlayCount" value="0"> <param name="Appearance value="0 value="""> <param name="BorderStyle value="0 value="""> <param name="MovieWindowHeight" value="240"> <param name="MovieWindowWidth" value="320"> <param name="FileName" value="/Mbar。avi"> <embed width="400" height="200" border="0" showdisplay="0" showc autostart="1" autorewind="0" playcount="0" moviewindowheight="240" moviewindowwidth="320" filename="/Mbar。avi" src="Mbar。avi"> </embed> </object> 2。mpg格式 代码片断如下: <object classid="clsid:05589FA1-C356-11CE-BF01-00AA0055595A" id="ActiveMovie1" width="239" height="250">

rtmp协议

RTMP:Real Time Messaging Protocol 实时消息传送协议 字节序:大端 Message Format: Timestamp:4 bytes Length:3 bytes Type ID:1 bytes Message Stream ID:4 bytes 小端 Handshake three static_sized chunks client:C0 C1 C2 server:S0 S1 S2 simple handshake: handshake sequence 握手开始于客户端发送C0、C1块 客户端在发送C2块之前必须等待直到S1块被接收 客户端在发送任何其他数据之前必须等待直到S2块被接收 服务器在发送S0、S1之前必须等待直到C0被接收或是C1被接收服务器在发送S2之前必须等待直到C1被接收 服务器在发送任何其他数据之前必须等待直到C2被接收 C0和S0格式 一个字节(8bits) 本版本是3 C1和S1格式 1536个字节

C2和S2格式 1536个字节,是C1和S1的回复响应 time:必须包含对等段发送的时间戳(对C2来说是S1,对S2来说是C1)time2:必须包含先前发送的被对端读取的包(S1或C1)的时间戳 handshake diagram

Complete handshake Chunking Chunk format A header and data +--------------+----------------+--------------------+----------+ | Basic Header | Message Header | Extended Timestamp | Chunk Data| +--------------+----------------+--------------------+----------+ | | |<------------------- Chunk Header ----------------->| Chunk Format Basic header:1-3bytes,chunk stream ID and chunk type(fmt) 长度可变type depend on the format of the encoded message header the length depend on the chunk stream ID ID:3-65599,0\1\2 reserved 0:2bytes,ID range 64-319 (the second byte+64) 1:3bytes,ID range 64-65599(the third byte*256+the second byte+64) 2:low-level protocol 2-63: 64-319:

音乐播放器程序源代码及注释

音乐播放器程序源代码及注释: #include #define uchar unsigned char #define uint unsigned int sbit duan=P2^6; sbit key1=P3^2;//按key1可切换花样 sbit key2=P3^3;//按key2可切换歌曲 sbit fm=P2^4;//蜂鸣器连续的IO口 sbit P30=P3^0;//矩阵键盘的一列 uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//花样1 uchar code huayang2[]={0x7f,0xfe,0xbf,0xfd,0xdf,0xfb,0xef,0xf7, 0xef,0xfb,0xdf,0xfd,0xbf,0xfe};//花样2 uchar code huayang3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0, 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; char code huayang4[]={ 0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0}; uchar count1;//花样标志 uchar count2;//歌曲标志 uchar timeh,timel,i; //编程规则:字节高位是简谱,低位是持续时间, //代表多少个十六分音符 //1-7代表中央C调,8-E代表高八度,0代表停顿

Java实现视频网站的视频上传及视频播放功能

视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash 制作的播放器来播放该文件.项目中用制作的播放器. 多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。?? ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。 1.能支持的格式 ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等) 2.不能支持的格式 对ffmpeg无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg 能解析的)格式. 实例是将上传视频转码为flv格式,该格式ffmpeg支持,所以我们实例中需要ffmpeg视频处理工具. 数据库 实例所需要的数据库脚本 drop database if exists db_mediaplayer;create database db_mediaplayer;use db_mediaplayer; create table tb_media( id int not null primary key auto_increment comment '主键' , title varchar(50) not null comment '视频名称' , src varchar(200) not null comment '视频存放地址' , picture varchar(200) not null comment '视频截图' , descript varchar(400) comment '视频描述' , uptime varchar(40) comment '上传时间' );

RTMP协议

RTMP Protocol Connect NetConnect.connect() Flash Play 通过NetConnect.connect连接到RTMP Server时,首先进行握手,再发送connect的参数. 1) 握手过程有三步: Step 1, Flash Player 至RTMP Server : 1个byte(0x03)+1536个byte数据. Step 2, RTMP Server至Flash Player : 1个byte(0x03)+1536个byte数据(Server的握手数据) + 1536个byte数据(通过和随机数hash得出, 详见附录) Step 3, Flash Player 至RTMP Server : 1536个byte数据(RTMP Server计算出来的). 注意:这个数据块没有1个byte的0x03. 2) 接下是connect参数 RTMP Server <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

RTMP Server >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Flash Player RTMP协议步骤 Step 1 发送一个0x05的包,即ServerBW, (channel 0x02) (0x00 26 25 a0) Step 2 发送一个0x06的包,即ClientBW, (channel 0x02) (0x00 26 25 a0) + (0x02) Step 3 发送一个0x14的包,即Invoke, (channel 0x03) (body超过128的长度就要分包, 用0xc3来) string (“_result”) + number (0x3F F0 00 00 00 00 00 00) + Object string (“capabilities”) ; number (31.0) string (“fmsV er”) ; string (随便填) (“RubyIZUMI/0,1,2,0”) End Of Object (0x00 00 09) //(connect status) + Object string (“code”) ; string (“NetConnection.Connect.Success”) string (“level”) ; string (“status”) string (“description”) ; string (“Connection Succeeded.”) End Of Object (0x00 00 09) RTMP Server <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

java简单媒体播放器源码.

//程序所用到的各种程序包 import java.awt.BorderLayout; import java.awt.CheckboxMenuItem; import java.awt.Color; import http://biz.doczj.com/doc/619637789.html,ponent; import java.awt.Container; import java.awt.FileDialog; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

import javax.media.ControllerClosedEvent; import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.EndOfMediaEvent; import javax.media.GainControl; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoPlayerException; import javax.media.Player; import javax.media.PrefetchCompleteEvent; import javax.media.RealizeCompleteEvent; import javax.media.Time; import javax.swing.JFrame; //本程序对应的类; class MediaPlayer extends JFrame implements ActionListener, ControllerListener, ItemListener { //MediaPlayer类的变量成员的声明; //JMF提供的播放器对象;

在网页中插入视频播放代码全集

在网页中插入视频播放代码全集.txt 2.mpg格式 代码片断如下:

视频播放器通用代码

ASP视频播放器通用代码 1.avi格式 2.mpg格式

课题_nginx搭建rtmp协议流媒体服务器总结

nginx搭建rtmp协议流媒体服务器总结 最近在ubuntu12.04上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下。 大部分都是参考网络上的资料。 前提: 在linux下某个目录中新建一个nginx目录。 然后进入该目录去下载搭建环境所需要的一些资源包。 此处在/root/ 目录下新建一个nginx目录即: /root/nginx/ ==================================== 1、安装依赖包: #yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 2、安装相关工具包 1). git # mkdir soft-source # cd soft-source # wget ://http://biz.doczj.com/doc/619637789.html,/projects/git-snapshots/git/git-latest.tar.xz # xz -d git-latest.tar.xz # tar xzvf git-latest.tar # cd git-2014-06-27 # autoconf # ./configure # make && make install # git --version git version 2.0.0.GIT # cd .. 2). zlib # wget ://http://biz.doczj.com/doc/619637789.html,/zlib-1.2.8.tar.gz # tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 # ./configure # make # make install # cd .. 3). pcre # wget ://exim.mirror.fr/pcre/pcre-8.12.tar.gz # tar zxvf pcre-8.12.tar.gz # cd pcre-8.12 # ./configure # make && make install # cd .. 4). yadmi yadmi的作用是为flv文件添加关键帧,才能实现拖动播放 # wget ://http://biz.doczj.com/doc/619637789.html,/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download # tar xzvf download # cd yamdi-1.4 # make && make install # cd .. 使用方法: # yamdi -i input.flv -o out.flv 给input.flv文件添加关键帧,输出为out.flv文件 5). OpenSSL # wget ://http://biz.doczj.com/doc/619637789.html,/source/openssl-1.0.1c.tar.gz # tar -zxvf openssl-1.0.1c.tar.gz # ./config # make # make install 3、安装ffmpeg及其依赖包: 1). Yasm # wget ://http://biz.doczj.com/doc/619637789.html,/projects/yasm/releases/yasm-1.2.0.tar.gz # tar xzvf yasm-1.2.0.tar.gz

实时流煤体协议概述v1.0

实时流煤体协议概述v1.0

实时流煤体协议概述 流媒体传输类型: 流媒体传输分两类:实时流媒体和顺序流媒体 一般来说,如果视频为现场直播,或使用专用的流媒体服务器,或应用如RTSP等专用实时协议,即为实时流媒体传输; 如果使用普通的HTTP服务器,将音视频数据以从头至尾方式发送,则为顺序流媒体传输。 实时流传输既可传输实况直播,也可传输完整的音视频文件(专用协议流式)。 顺序流媒体不可用于实况直播,仅能传输完整的音视频文件(HTTP渐进式)。 主流的流媒体协议 主流的流媒体协议主要有:RTMP,HLS,RTSP等。

附:流媒体播放实现流程 一,h ttp渐进式下载原理(仅支持文件播放)http边下载边播放,严格意义上讲,不是实况直播协议。他的原理是先下载文件的基本信息,音频视频的时间戳,再下载音视频数据,以播放mp4为例,先下载文件头,根据文件头指引下载文件尾,然后再下载文件的音视频数据。 播放方式:1. 浏览器调用系统播放器播放; 2. 使HTML5的Video标签,浏览器内部支持直接播放。

二,苹果支持的hls原理(支持文件播放和实况直播)HLS的文件点播 1.使用“文件分段器”将基于H264和AAC或MP3的MPEG4分段, 生成.ts和.m3u8文件,存储于普通服务器上。 2.苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引, 并下载所需要的数据片段来播放。 HLS的实况直播 1.使用“流分段器”将基于H264、AAC、MP3的MPEG2传输 流分段, 2.可使用其它工具将MPEG4音视频文件加载到MPEG2传输流当中。 3.生成.ts和.m3u8文件,存储于普通服务器上。 4.苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引, 并下载所需要的数据片段来播放。 三,A dobe Flash 支持的RTMP协议(支持文件播放和实况直播) 必须采用Flash服务器FMS(Flash Media Server) 或 RED5. FMS的文件点播 1. 服务器(FMS或RED5)将F4v 或 Flv文件转化为RTMP流或HTTP流 2. 客户端(Flash插件或应用程序)获取RTMP流,提取相应的Flv 或 F4v文件片段进行播放。 FMS的实况直播 1.设备端(摄像头)将数据转化为F4v片段,通过RTMP流上传到服务器 2. 服务器(FMS或RED5)转发RTMP流到客户端 3. 客户端(Flash插件或应用程序)获取RTMP流,提取数据片段播放。 四,R TSP协议 RTSP为纯粹的传输控制协议。 RTSP协议本身不与它负载的媒体数据相关。 RTSP协议需要自定义客户端向服务器发送RTSP命令。

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import http://biz.doczj.com/doc/619637789.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

几种在网页中播放FLV视频文件的代码

几种在网页中播放FLV视频文件的代码(附FLV播放器) 方法一、js嵌入 直接copy下面代码,修改其中红色部分,即:swf_width、swf_height、texts、files 参数引用 其中: 群英传WEB版宣传视频是标题。 http://biz.doczj.com/doc/619637789.html,/flv/qyzweb.flv是FLV文件地址。 http://biz.doczj.com/doc/619637789.html,/flv/flvplayer.swf 是FLV文件播放器地址(如果你不会制作,可下载别人的然后上传到自己的空间再调用)。

PANABIT支持协议库

Panabit V9.08(战国r3)专业版支持协议列表 (2009.10.16) 类别 应用协议 客户端 发布日期 版本号/注释 HTTP协议 WWW Web音乐 FLASH HTTP代理 HTTP下载 HTTP分块传输 伪IE下载 其他下载主要是“另存为” 土豆网http://biz.doczj.com/doc/619637789.html, Web视频 酷6 http://biz.doczj.com/doc/619637789.html, 6间房 http://biz.doczj.com/doc/619637789.html, 优酷http://biz.doczj.com/doc/619637789.html, Youtube http://biz.doczj.com/doc/619637789.html, HULU网http://biz.doczj.com/doc/619637789.html, 我乐网http://biz.doczj.com/doc/619637789.html, Sina视频http://biz.doczj.com/doc/619637789.html, Sohu视频 腾讯宽频 波波虎http://biz.doczj.com/doc/619637789.html, 其他Web视频 凤凰网http://biz.doczj.com/doc/619637789.html, CCTV点播http://biz.doczj.com/doc/619637789.html, Viewgood http://biz.doczj.com/doc/619637789.html, 常用协议 电子邮件 SMTP POP3 IMAP 终端类 VNC PCAnyWhere SSH Telnet 远程桌面 文件传输 FTP TFTP RSync 缺省端口873 NFS

CVS MSDS Microsoft-DS DNS DHCP NNTP SNMP NTP UPNP NETBIOS DAYTIME 端口为13 SYSLOG 缺省端口514 DECRPC LDAP NAT端口映射 网络管理 ISA控制协议 HTTPS Socks4/5 L2TP PPTP IPSEC GRE 网络安全 OpenVPN 360更新 Nod32更新 Windows更新 软件更新 卡巴斯基更新 流媒体协议 RTSP MMS QuickTime QuickTime 7 Windows MediaPlayer Windows MediaPlayer 11 Real Player Real Player 11 BBSee 1.3 磊客http://biz.doczj.com/doc/619637789.html, 新浪奥运视频 网易奥运视频 QQ奥运视频 CCTV央视高清 RTMP P2P下载 BitComet 2009.06.22 1.13 BT BitSpirit 2009.07.27 V 3.6.0.135

安卓音乐播放器开发,含源代码

基于an droid平台的音乐播放器开发 实验报告 学生姓名:_______ 温从林 _________________ 学号: ___________________________________ 班级:计自1201 _____________ 第一章引言 1.1项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Win dowsmobile,symbia n,以及谷歌的An droid操作系统,其中占有开放源代码优势的An droid系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌An droid系统就能做到。本文的音乐播放器就是基于谷歌An droid手机平台的播放器。 An droid :是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于An droid平台的。 1.2编写目的 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现的主要功能是播放Mp3 Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,播放列等基本播放控制功能,界面简明,操作简单。

本项目是一款基于An droid手机平台的音乐播放器,使An droid手机拥有个性的 多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练An droid的技术和其它在市场上的特点。 1.3开发环境 Eclipse、An droid SDK 320 第二章系统需求分析 2.1功能需求(用例图分析) 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述: 2.1.1播放器的用例图 假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作, 启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下 图2.1 播放器基本用例图 2.1.2用例分析