很简单
想把一些mp3文件放到gae上,不过不想被下载,虽然不是什么歌之类的
于是选了个html5的播放器
jplayer
demo代码 <!DOCTYPE html>
<html lang="en"> <head> <!-- Example code to create a simple player using jPlayer 2.1.0 --> <!-- Skins are defined in CSS. Uncomment the following CSS reference and comment out the one below it to switch skins --> <!--<link href="http://jplayer.org/latest/skin/blue.monday/jplayer.blue.monday.css" rel="stylesheet" type="text/css" />--> <link href="http://jplayer.org/latest/skin/pink.flag/jplayer.pink.flag.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" src="http://jplayer.org/2.1.0/js/jquery.jplayer.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#jquery_jplayer_1").jPlayer({ ready: function(event) { $(this).jPlayer("setMedia", { <!--mp3: "12.mp3" --> mp3: "http://www.jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3" }); }, swfPath: "http://www.jplayer.org/2.1.0/js", supplied: "mp3" }); }); </script> </head> <body> <div id="jquery_jplayer_1" class="jp-jplayer"></div> <div id="jp_container_1" class="jp-audio"> <div class="jp-type-single"> <div class="jp-gui jp-interface"> <ul class="jp-controls"> <!-- comment out any of the following <li>s to remove these buttons --> <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li> <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li> <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li> <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li> <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li> <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li> </ul> <!-- you can comment out any of the following <div>s too --> <div class="jp-progress"> <div class="jp-seek-bar"> <div class="jp-play-bar"></div> </div> </div> <div class="jp-volume-bar"> <div class="jp-volume-bar-value"></div> </div> <div class="jp-current-time"></div> <div class="jp-duration"></div> </div> <div class="jp-title"> <ul> <li>Cro Magnon Man</li> </ul> </div> <div class="jp-no-solution"> <span>Update Required</span> To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>. </div> </div> </div> </body>
结果,无论是上述例子中用demo的mp3url,还是用本地的mp3文件,都表现正常
一旦用gae
就会报上篇文章的错误,chrome的快进功能失效,ff和maxthon3正常(废话,他们是同一个核心)
当然 yaml文件里要做类似如下修改
- url: /audio/(.*\.(mid|midi|mp3|wav))
static_files: audio/\1
upload: audio/(.*\.(mid|midi|mp3|wav))
到此为止,我已经失败了,因为即使我把mp3的地址暴露出来都不行的话,还继续研究个啥呢
不过还是坚持了一小把,算是为将来留个念头
思路
在test.html中的mp3地址设置中
设置为如下形式
mp3: "12.mp3"
当进入html的时候,js会去请求127.0.0.1:8085/12.mp3的url
在code.py中设置
'/(.*\.mp3)' , 'audio',
在audipclass中设置
def GET(self,name): client = '' client = web.ctx.env.get('HTTP_REFERER') if (not client == None ) and client.endswith('test'): newurl = 'http://127.0.0.1:8085/audio/' + name logging.info("newurl ::::::" + newurl) raise web.redirect(newurl) else : return 'stop download '
当然,在yaml中,要把audio的文件夹设为static
换句话说,这个过程是
表面上test.html发出的请求是127.0.0.1:8085/1.mp3
接受这个请求的是audioc这个class,如果HTTP_REFERER的结尾时test,
则redirect到127.0.0.1:8085/audio/1.mp3上
否则,返回字符 'stop download '
这个过程倒是用chrome验证成功了,除了不能快进快退
但是ff和maxthon却失败了,用firebug查看的结果,发出127.0.0.1:8085/1.mp3后没有得到相应
哎,莫非ff只能一次性响应不成?
算了,这个周末到此为止
下一步,换个html5播放器试试。
》》》第二天,成功了,见下一篇,虽然不完美
发表评论
-
用webpy+gae做一个隐藏播放文件地址的东东,失败了2 -半成功
2012-04-23 21:14 1000昨天说到失败了想换一个html5播放器试试其实跟播放器根本没有 ... -
用chrome访问gae的static文件的问题
2012-04-21 14:49 2650Traceback (most recent call ... -
一篇写的还不错的gae入门
2012-04-08 20:37 1019经过一段时间的摸索,感觉gae已经入门了 特地把查到的资料上 ... -
web.py笔记gae的session总结
2012-03-09 00:04 2566这几天利用gae部署webpy的小东西 感慨颇多 1 ga ... -
web.py笔记db处理 坑爹_test=True
2012-03-04 15:44 3272http://webpy.org/cookbook/Inser ... -
web.py笔记 表单post的checkbox
2012-03-02 23:40 3621<p> <label for=&quo ... -
web.py笔记 中文html
2012-03-01 00:37 1361本来今天测试的是数据库 结果在template的html里面 ... -
web.py笔记模板3 i18n 切换
2012-02-26 21:42 1665研究了很久pot,po,gettext,poedit的文档 ... -
web.py笔记模板2 i18n准备po和mo文件
2012-02-22 22:23 1717其实,今天晚上本来像做i18n的 http://webpy. ... -
web.py笔记模板1
2012-02-21 22:27 3434http://webpy.org/docs/0.3/templ ... -
web.py笔记 cookie
2012-02-19 16:28 1491官方url http://webpy.org/co ... -
web.py笔记 大块文件下载
2012-02-17 22:26 4642官方url http://webpy.org/cook ... -
web.py笔记 处理404 500
2012-02-12 22:50 3158官方cookbook http://webpy. ... -
wing ide 设置
2012-02-12 22:43 11329用惯了eclipse,这个轻量级的wingide 还真是有点不 ... -
web.py笔记ctx
2012-02-12 16:48 4871http://webpy.org/cookbook/ctx ... -
web.py笔记ssl 续 apache
2012-02-11 22:32 1376对前几天ssl的连接方式,仍然比较担心 感觉不是那么妥当 ... -
web.py笔记ssl 坑爹
2012-02-09 21:42 3801今天又回过神来,准备看看web.py的ssl支持 结果调了半 ... -
web.py 笔记 控制url
2012-01-15 22:54 4103web.py 的url控制说明 ,官方的中文coo ... -
web.py笔记session
2012-01-08 21:58 4156官方的例子 http://webpy.o ... -
web.py
2012-01-04 21:37 7552http://webpy.org/ import ...
相关推荐
标题“spring+gae+hibernate”所提及的是一个技术集成项目,主要涉及Spring框架、Google App Engine(GAE)和Hibernate三个关键组件。让我们详细探讨这三个技术以及它们的集成。 Spring是一个开源的Java企业级应用...
标题 "spring3+springmvc+jpa2+gae" 指的是一个集成开发环境,它结合了Spring框架的三个核心组件以及Google App Engine (GAE)。这个项目旨在展示如何在GAE上运行一个基于Spring 3、Spring MVC和JPA 2.0的应用程序。...
Spring是一个广泛使用的开源Java框架,提供了依赖注入、面向切面编程和MVC(模型-视图-控制器)等功能,而GAE是Google提供的一个平台即服务(PaaS)解决方案,它允许开发者在Google的基础设施上部署和运行Web应用。...
ipv4一定会被v6代替,这本书可以学到ipv6的知识点,非常推荐!!
标签: Eclipse GAE 云计算 标签: Eclipse GAE 云计算 这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 ...
标签: Eclipse GAE 云计算 标签: Eclipse GAE 云计算 这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 ...
标签: Eclipse GAE 云计算 这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
标签: Eclipse GAE 云计算 这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
标签: Eclipse GAE 云计算 这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
标签: Eclipse GAE 云计算 这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
`create_upload_url()`函数接收一个目标处理程序,当用户完成文件上传后,GAE会将请求转发到这个处理程序。处理程序负责处理上传后的文件元数据,例如文件名、大小等。 4. **处理文件上传** 用户上传文件后,处理...
【基于GAE的Demo】是一个使用Eclipse集成开发环境构建的项目,主要展示了如何在Google App Engine(GAE)平台上整合Struts2、Spring和Tiles框架。GAE是Google提供的一个云计算平台,允许开发者在Google的基础设施上...
这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
这是云应用开发工具,在网上下载大约需要5个小时以上,如果你的网络不是特别好。 由于文件大小要求,分为9部分 下载以后解压,然后合并即可。 前四个 每个4分 中间四个每个0分
标题 "GAE包(以配置好,解压可用)" 提供的信息表明,这是一个已经预配置好的Google App Engine (GAE)开发环境的压缩包。GAE是Google提供的一项平台即服务(PaaS),允许开发者在Google的基础设施上运行自己的Web...
GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则GAE使用规则
【标题】"gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_" 提供的信息表明,这是一个使用PyTorch实现的图自编码器(Graph Autoencoder, GAE)项目,其核心是将自编码器的概念应用于图数据。...
总之,`gae_in_pytorch-master`项目提供了在PyTorch中实现GAE的完整代码,为研究者和开发者提供了一个理解和实践图自动编码器的平台。通过这个项目,你可以深入理解GAE的原理,掌握图神经网络在图结构学习中的应用,...