HTML页面内嵌播放器用于播放网络文件

<object name="Player" id="Player" width=300 height=200 classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6">
                    <param name="URL" value=""/>
                    <param name="autoStart" value="0"/>
                    <param name="balance" value="0"/>
                    <param name="baseURL" value/>
                    <param name="captioningID" value/>
                    <param name="currentPosition" value="0"/>
                    <param name="currentMarker" value="0"/>
                    <param name="defaultFrame" value="0"/>    
                    <param name="enabled" value="1"/>
                    <param name="enableErrorDialogs" value="0"/>
                    <param name="enableContextMenu" value="1"/>              
                    <param name="fullScreen" value="0"/>     
                    <param name="invokeURLs" value="1"/>
                    <param name="mute" value="0"/>
                    <param name="playCount" value="1"/>  
                    <param name="rate" value="1"/>
                    <param name="SAMIStyle" value/>
                    <param name="SAMILang" value/>
                    <param name="SAMIFilename" value/>
                    <param name="stretchToFit" value="0"/>
                    <param name="uiMode" value="full"/>
                    <param name="volume" value="100"/>
                    <param name="windowlessVideo" value="0"/>
</object>

这里的classid就是调用播放器的注册表,此处调用的是windowsplayer的注册表,只有IE可用

public boolean readFile(String sourceFilePath) throws IOException {
		File file = new File(sourceFilePath);
		BufferedInputStream inputStream = new BufferedInputStream(
				new FileInputStream(file));

		File file_1 = new File("D:/java/a.mp3");
		if (!file_1.exists()) {

			BufferedOutputStream outputStream = new BufferedOutputStream(
					new FileOutputStream(file_1));
			byte[] b = new byte[1024];
			int len = 0;
			Date date = new Date();
			long speed = 0;
			while ((len = inputStream.read(b)) != -1) {
				outputStream.write(b, 0, len);
				speed += len;
				long result = new Date().getTime() - date.getTime();
				if (result >= 1000) {
					System.out.println("" + speed / 1024 + "KB/S");
					speed = 0;
					date = new Date();
				}
			}

			System.out.println("" + speed / 1024 + "KB/S");
			inputStream.close();
			outputStream.flush();
			outputStream.close();
			return true;
		} else
			return false;
	}
这个方法用去从服务器上下载文件到本地,播放,这里的参数sourceFilePath就是对应的网络地址,将这个方法写在Servlet里面然后在前台用ajax发post请求

现在在解决一个问题就是,如果播放的文件过大,那么就有很大的延迟,现在要解决的是网络文件边下载边播放,各位有更好的办法,希望指教指教


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值