欢迎光临, 访客. 请先 登入註册一个帐号.
七月 17, 2020, 12:46:43 上午
19594 文章 在 3864 主题 由 4580 会员
最新註册会员: aa123aa1
LifeType 中文开发论坛  |  开发  |  模版设计  |  模版设计精华区  |  [模版修改]让资料夹中的声音和影片档案可以直接线上拨放 « 上篇主题 下篇主题 »
页: 1 [2] 3 4
作者 主题: [模版修改]让资料夹中的声音和影片档案可以直接线上拨放  (阅读 123694 次)
3gboke
初级会员
**
文章: 81


检视个人资料
« 回覆文章 #15 于: 十月 05, 2005, 11:47:53 下午 »

谢谢,  仔细看了 上面的代码。。 在资源中心实现了 直接线上播放。
   现在研究在htmlarea-plog-resource.js 中的方式
已记录

偶不懂PHP程式,对LT的修改仅限于其模板的修改
haolik
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #16 于: 十二月 10, 2005, 10:15:40 上午 »

lifetype1.02找不到htmlarea-plog-resource.js 这个文件!

把mp3文件上传到资源中心,然后通过插入到文档,不能实现自动播放状态,只是一个连接文件按,代码如下:

<a id="res_104" title="夜曲" href="http://www.ad-ren.com/plog/resserver.php?blogId=1&resource=yequ.mp3" type="audio/mpeg">yequ.mp3</a>


通过html方式插入一下代码,实现自动播放:

<embed src="http://www.ad-ren.com/plog/resserver.php?blogId=1&resource=yequ.mp3" width="400" height="30" type="text/html; charset=iso-8859-1" autostart="0" /></embed /> <p />

对于那些不懂html语言的人来说,似乎很麻烦的一件事情。

能不能在编辑器上添加一个按钮,使输入文档的mp3能够出现播放界面?并且可以选择“0”或“true”播放方式
已记录
copper
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #17 于: 十二月 10, 2005, 09:30:08 下午 »

lifetype1.02找不到htmlarea-plog-resource.js 这个文件!

把mp3文件上传到资源中心,然后通过插入到文档,不能实现自动播放状态,只是一个连接文件按,代码如下:

通过html方式插入一下代码,实现自动播放:

<embed src="http://www.ad-ren.com/plog/resserver.php?blogId=1&resource=yequ.mp3" width="400" height="30" type="text/html; charset=iso-8859-1" autostart="0" /></embed /> <p />

能不能在编辑器上添加一个按钮,使输入文档的mp3能够出现播放界面?并且可以选择“0”或“true”播放方式


我想james的修改resource.tmplate的方法,其实就是自动加上这样一段embed代码。问题是,现在resource.template中的代码可能有一点问题:

    <div id="Resource">   
     <p>{$resource->getDescription()}</p>
        {if $resource->isImage()}
      <img src="{$url->resourceMediumSizePreviewLink($resource)}" alt="{$resource->getFileName()}, {$metadata->getRoundedSize()}" />
 
        {else}
        <a href="{$url->resourceDownloadLink($resource)}">
         {* show some information about the file *}
   
         {if $resource->isSound()}
        <img alt="Sound" src="{$url->getTemplateFile("imgs/sound.gif")}" /></a>
        <embed src="http://localhost/resserver.php?blogId=1&resource=Country%20Road%20-%20John%20Denver.MP3" width="400" height="30" type="text/html; charset=iso-8859-1" autostart="0" /></embed /> <p />
        <p>{$resource->getFileName()}</p>
        <p>{$locale->tr("format")}: {$metadata->getFormat()|upper}</p>
        <p>{$locale->tr("length")}: {$metadata->getLengthString()}</p>
        <p>{$locale->tr("sample_rate")}: {$metadata->getSampleRate()} Khz</p>
 
这里的if 和else 语句控制会使得程序根本进行不到后面的语句,因此后面   {if $resource->isSound()}下的语句都没有用了。

是不是这个问题?
已记录

我们的LifeType应用实例:
http://www.blogyard.net/  博雅空间:博采众长,雅集文字!
FreeBSD+LifeType 1.0.2 beta。
文字空间不限,20M资源空间,上传限制单个文件5M。
欢迎一起共建!
copper
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #18 于: 十二月 10, 2005, 09:44:28 下午 »

问一个非常外行的问题:

这里的{if  } {else}
到底是什么语音?php里面的写法好象不是这样啊。

这里的if-else控制流该怎么写呢?

google里面查{else}的时候会被它把{}忽略掉,怎样才能查到跟{else}有关的知识呢?
已记录

我们的LifeType应用实例:
http://www.blogyard.net/  博雅空间:博采众长,雅集文字!
FreeBSD+LifeType 1.0.2 beta。
文字空间不限,20M资源空间,上传限制单个文件5M。
欢迎一起共建!
james
版主
超级会员
*****
文章: 823


哼!!你不说,谁会知道你做过那些修改呢!? (丢滑鼠~~)


检视个人资料 个人网站
« 回覆文章 #19 于: 十二月 10, 2005, 10:51:30 下午 »

问一个非常外行的问题:

这里的{if  } {else}
到底是什么语音?php里面的写法好象不是这样啊。

这里的if-else控制流该怎么写呢?

google里面查{else}的时候会被它把{}忽略掉,怎样才能查到跟{else}有关的知识呢?

Hi copper:
这是 smarty的语法。
如果你想知道什么是 smarty,请参考 http://smarty.php.net/
至于为何lifetype的模版是如何运作的,及为何要使用 smarty,则请参考http://wiki.lifetype.net/index.php/PLog_1.0/Templates
希望这些回答能对你有所帮助 ^_^
James.
已记录

记得发问前,先使用搜寻功能找找看有没相关的解答。
如果找不到,请依照如何在LifeType论坛发问来提问喔。
markwu
系统管理员
超级会员
*****
文章: 3928


Mark Wu


检视个人资料 个人网站
« 回覆文章 #20 于: 十二月 10, 2005, 10:51:51 下午 »

问一个非常外行的问题:

这里的{if  } {else}
到底是什么语音?php里面的写法好象不是这样啊。

这里的if-else控制流该怎么写呢?

google里面查{else}的时候会被它把{}忽略掉,怎样才能查到跟{else}有关的知识呢?

请参考: http://smarty.php.net , LifeType 是使用 Smarty Template Engine。

Mark
已记录

copper
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #21 于: 十二月 11, 2005, 10:29:04 上午 »

汇总:关于用LifeType做播客的方法
(看了James和Mark的帖子,总算把这个问题搞定了,多谢两位。)

问题的提出:
1、是 LifeType 能不能直接把上传的影音档贴到文章上。
可以!
2. LfieType 可不可以直接贴成播放影音档的格式,也就是做播客?
可以!,请参考:http://forum.lifetype.org.cn/index.php?topic=817.0

问题的解决:

James首先解决了在资源中心中音像文件播放的问题。

James在帖子里面写道:
这个修改可以套用在所有的模版中。
只要将resource.template中的
程式码:
{if $resource->isSound()}
<img alt="Sound" src="{$url->getUrl("/imgs/sound.gif")}" height="64" width="64" style="border:0px;" /><br/>
{$resource->getFileName()}
</a><br/>
改成
引用
{if $resource->isSound()}
<img alt="Sound" src="{$url->getUrl("/imgs/sound.gif")}" height="64" width="64" style="border:0px;" /><br/>
<p><embed src="{$url->resourceDownloadLink($resource)}" /></p>
{$resource->getFileName()}
</a><br/>
至于影片的部份,则是把
程式码:
{elseif $resource->isVideo()}
<img alt="Sound" src="{$url->getUrl("/imgs/video.gif")}" height="64" width="64" style="border:0px;" /><br/>
{$resource->getFileName()}
</a><br/>
更换成
引用
{elseif $resource->isVideo()}
<img alt="Sound" src="{$url->getUrl("/imgs/video.gif")}" height="64" width="64" style="border:0px;" /><br/>
<p><embed src="{$url->resourceDownloadLink($resource)}" /></p>
{$resource->getFileName()}
</a><br/>
就可以了 微笑
如果不想让声音档或影片档自动开始拨放,只要在红色那行中加入 autostart="false" (加在/>前) 就可以啰 开怀大笑

补充说明:目前测试结果,在windows环境下,IE和FF下都可以正常拨放(IE会用Media player拨放,在FF下则必需安装QuickTime才可以);在Linux下使用Mozila,在安装plugin后也可正常拨放。

现在正在修改htmlarea-plog-resource.js,现在已经可以直接将mp3档案用embed的方式插入到文章中。
等把影片档案也完成后在分享出来。

James.


对于行家,一看就明白了,下面对新手解释一下:
1、   这里说的播放是指浏览者到你的“资源中心”去看到你的资源列表,点击了其中的影音资源,这个时候,打开的页面里面会有下载和播放两个方式同时存在。实例http://safety.blogyard.net/index.php?op=ViewAlbum&albumId=5
2、   如果你想在自己的文字blog中嵌入可以播放的音像文件,这样做还不行,还要有一些其他修改。
3、   所谓“这个修改可以套用在所有的模版中。只要将resource.template中的……”实际上是说:LifeType提供很多模板,这些模板都在templates目录下,如果你用的是A模板,那么你就应该在A模板目录下的resource.template按照他的方法修改。这里请注意,如果你用的是B模板,而修改的是A模板底下的resource.template,那你是不会看到效果的。除非你在控制中心里面把模板换到A。
4、   每个模板的resource.template一般在“templates\模板名”目录下。所以,如果你提供多人blog,而大家的模板都不同,那你为了提供这个功能,就必须把所有的模板下面的resource.template都修改一遍。如果你的用户还有自己的模板,那你继续帮他改吧,呵呵。



接着,James又解决了在blog文章中插入的音像文件可以在页面上直接播放的问题,也就是说 ,解决了LifeType用于播客的问题。



我已经把htmlarea-plog-resource.js改好了。

不过改得很简单,目前测试的结果只有在IE下编辑文章时能即时见到效果 伤心 ,其它的浏览器(FF或是mozila)通通要等到发表文章后才看得到效果。

我修改的地方是在,htmlarea-plog-resource.js的function _generateResourceLink下
找到这一段
程式码:
    else {
    // if not an image, there is not much we can do
    htmlCode = '<a title="'+resourceDesc+'" href="'+plogBaseUrl+'/resserver.php?blogId='+blogId+'&amp;resource='+encodeURIComponent(resourceName)+'">test</a>';
    }
改成
引用
    else if ( type== 2 || type == 3 ) {
        htmlCode = '<embed id="res_'+resId+'" src="'+plogBaseUrl+'/resserver.php?blogId='+blogId+'&amp;resource='+encodeURIComponent(resourceName)+'" autostart="false"  type="'+mimeType+'" />';
    }
    else {
       // if not an image, there is not much we can do
       htmlCode = '<a title="'+resourceDesc+'" href="'+plogBaseUrl+'/resserver.php?blogId='+blogId+'&amp;resource='+encodeURIComponent(resourceName)+'">test</a>';
    }

同时我也发现在function __generateBaseLink里面的
    if( type == 2 ) {
应该有点错误,因为type 2 是video,应该没有preview的设定才对,我想那一行应该改成 type == 1 才对吧!? 因为不太确定所以没到bugs中回报。

给大家参考一下啰 微笑

James.


大家注意,
1、   如果你用的是LifeType1.0.2beta,那么这个文件应该是:“网站根目录\js\htmlarea\htmlarea-plog-resourcelist.js”
2、   这个文件中类似的代码有两处,一定要找function _generateResourceLink里面的那一处。


到此为止,James已经解决了这个问题。

我这里有一个实例:http://www.blogyard.net/index.php?op=Default&Date=200512
系统:Freebsd+LifeType1.0.2beta,用IE、Maxthon均能正常显示。
另外,在maxthon浏览器下编辑文章时也能即时见到效果

下面说一下,我的一些疑问:
1、   我在自己的notebook上测试的时候,在把音像文件插入到文章中的时候,资源中心的页面中按插入资源,会报错说页面上有错误。不知道其他人碰到过吗?
2、   James的方法目前在那些系统适用?有没有人愿意把自己试用的结果(自己的系统和lifetype版本)贴一下?
3、   浏览器的问题,现在那些浏览器可以正常显示?
4、在读一个嵌有音像文件的blog的时候,系统在后台会对这些文件进行自动的下载。在这个方式下,如果我的一个页面中有20个blog(比如一个月的blog列表等会有这种情况),每个blog中都嵌了一个音像文件,那么后台的下载量会很大,对系统的影响很大。而实际上或许浏览者只是在浏览列表而已。能否让它先不要后台下载?(当然有一个避免的办法是把所有的音像文件在发表文章的时候都放在文章的扩展部分,这样可以在读者真正读到这篇文章的时候才会下载。但是这种方面如果在多用户的blog系统中要向每一个blogger解释,让他们都照这个做,也不是一件容易的事情。)



« 最后编辑时间: 十二月 11, 2005, 10:49:19 上午 由 copper » 已记录

我们的LifeType应用实例:
http://www.blogyard.net/  博雅空间:博采众长,雅集文字!
FreeBSD+LifeType 1.0.2 beta。
文字空间不限,20M资源空间,上传限制单个文件5M。
欢迎一起共建!
james
版主
超级会员
*****
文章: 823


哼!!你不说,谁会知道你做过那些修改呢!? (丢滑鼠~~)


检视个人资料 个人网站
« 回覆文章 #22 于: 十二月 11, 2005, 12:10:25 下午 »

Hi copper:
我才要谢谢你呢 ^_^ 感谢你的帮忙,写了这么详细的解说 微笑

关于你所提的问题,我就我知道的部份回答一下 ^_^

引用
1、   我在自己的notebook上测试的时候,在把音像文件插入到文章中的时候,资源中心的页面中按插入资源,会报错说页面上有错误。不知道其他人碰到过吗?
这个部份在我这是没出现,不过你可以说一下是怎样的错误讯息吗? 是javascript吗?它的错误讯息内容是?

引用
2、   James的方法目前在那些系统适用?有没有人愿意把自己试用的结果(自己的系统和lifetype版本)贴一下?
3、   浏览器的问题,现在那些浏览器可以正常显示?
我自己在windows 和linux系统上测试过,IE 和 FF还有mozila都可以(但前提是必须先安装相对应的外挂程式,在IE下,不用安装就会使用mediaplayer 播放,如果有安装Quicktime player则会使用Quicktime player播放,在FF下则一定要安装如QuickTime这类的播放软体才行,Linux下的mozila则一样要安装类似的播放软体)

至于显示的问题分成两个部份,在管理介面(后台) 发表新文章时,只有在IE下可以显示,其它的通通都会显示一个黑色的区块。 至于文章发表后的显示(前台),则只要安装合适的播放软体后都可以正常显示(我试用过的浏览器如上段文章所示。

引用
4、在读一个嵌有音像文件的blog的时候,系统在后台会对这些文件进行自动的下载。在这个方式下,如果我的一个页面中有20个blog(比如一个月的blog列表等会有这种情况),每个blog中都嵌了一个音像文件,那么后台的下载量会很大,对系统的影响很大。而实际上或许浏览者只是在浏览列表而已。能否让它先不要后台下载?
这个部份应该不成问题,我原先的修改是将autostart设成 false的,因此除非你将它设成true,不然在文章显示的时候媒体档案是不会自动播放的,因此如果同时列出所有的文章应该也不成问题的。

另外如果你担心的是在summary画面中会出现许多的媒体档案,那应该有是多虑的,因为原始的summary.template模版设计会把这些html tag移除掉,所以在summary 画面中是看不到这些媒体档案的。

提供你另一个想法,或许在显示汇整画面时,只显示文章日期和标题,本文的部份就不要显示,这样就不用担心啦 微笑 (你可以参考rensick所移植过来的模版,里面有类似的设计)

Just Enjoy 微笑

James.
« 最后编辑时间: 十二月 11, 2005, 12:37:27 下午 由 james » 已记录

记得发问前,先使用搜寻功能找找看有没相关的解答。
如果找不到,请依照如何在LifeType论坛发问来提问喔。
copper
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #23 于: 十二月 11, 2005, 09:42:13 下午 »

Hi,James:

关于你所提的问题,我就我知道的部份回答一下 ^_^

引用
1、   我在自己的notebook上测试的时候,在把音像文件插入到文章中的时候,资源中心的页面中按插入资源,会报错说页面上有错误。不知道其他人碰到过吗?
这个部份在我这是没出现,不过你可以说一下是怎样的错误讯息吗? 是javascript吗?它的错误讯息内容是?

为了把错误信息抓出来,我又试了一下。没有出现错误。
因为我已经把机器重新启动过了。或许跟网页的缓存有关系?
如果以后再出现错误,我会把它抓下来请你分析。

多谢。 微笑

copper。
已记录

我们的LifeType应用实例:
http://www.blogyard.net/  博雅空间:博采众长,雅集文字!
FreeBSD+LifeType 1.0.2 beta。
文字空间不限,20M资源空间,上传限制单个文件5M。
欢迎一起共建!
james
版主
超级会员
*****
文章: 823


哼!!你不说,谁会知道你做过那些修改呢!? (丢滑鼠~~)


检视个人资料 个人网站
« 回覆文章 #24 于: 十二月 11, 2005, 09:45:47 下午 »


为了把错误信息抓出来,我又试了一下。没有出现错误。
因为我已经把机器重新启动过了。或许跟网页的缓存有关系?
如果以后再出现错误,我会把它抓下来请你分析。

多谢。 微笑

copper。
Hi copper:
不客气啰 ^_^ 我想可能是因为 cache的关系,所以才会看到错误讯息。
有问题在互相讨论啰 ^_^

James.
已记录

记得发问前,先使用搜寻功能找找看有没相关的解答。
如果找不到,请依照如何在LifeType论坛发问来提问喔。
copper
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #25 于: 十二月 14, 2005, 03:06:01 下午 »

Hi,James:

引用
   else if ( type== 2 || type == 3 ) {
        htmlCode = '<embed id="res_'+resId+'" src="'+plogBaseUrl+'/resserver.php?blogId='+blogId+'&amp;resource='+encodeURIComponent(resourceName)+'" autostart="false"   type="'+mimeType+'" />';
    }    else {
       // if not an image, there is not much we can do
       htmlCode = '<a title="'+resourceDesc+'" href="'+plogBaseUrl+'/resserver.php?blogId='+blogId+'&amp;resource='+encodeURIComponent(resourceName)+'">test</a>';
    }


引用
引用
4、在读一个嵌有音像文件的blog的时候,系统在后台会对这些文件进行自动的下载。在这个方式下,如果我的一个页面中有20个blog(比如一个月的blog列表等会有这种情况),每个blog中都嵌了一个音像文件,那么后台的下载量会很大,对系统的影响很大。而实际上或许浏览者只是在浏览列表而已。能否让它先不要后台下载?
这个部份应该不成问题,我原先的修改是将autostart设成 false的,因此除非你将它设成true,不然在文章显示的时候媒体档案是不会自动播放的,因此如果同时列出所有的文章应该也不成问题的。

另外如果你担心的是在summary画面中会出现许多的媒体档案,那应该有是多虑的,因为原始的summary.template模版设计会把这些html tag移除掉,所以在summary 画面中是看不到这些媒体档案的。

提供你另一个想法,或许在显示汇整画面时,只显示文章日期和标题,本文的部份就不要显示,这样就不用担心啦  (你可以参考rensick所移植过来的模版,里面有类似的设计)


我今天检查了一下。autostart="false"只是禁止自动播放。实际上,一打开含有多媒体文件的网页,哪些文件(*.mp3、*.asf、*.wma等文件)就已经被下载到浏览者的temporary internet files目录下了。我们的lifetype的显示缺省是显示文章内容的。比如文章存档中,一般一个月一个存档,当有人打开这一个月的存档blog时,如果我们的blog中都含有多媒体文件,那下载量是很大的,而且别人下载之后未必看,所以这个下载是无效的,空耗了网络带宽。

现在我是采用你的建议,把多媒体文件放在文章的扩展内容部分,这样,浏览者要点击浏览全文的时候,才会下载这个文件。

不过,我想,是否有什么参数可以设置只有点击play的时候才开始下载呢?
已记录

我们的LifeType应用实例:
http://www.blogyard.net/  博雅空间:博采众长,雅集文字!
FreeBSD+LifeType 1.0.2 beta。
文字空间不限,20M资源空间,上传限制单个文件5M。
欢迎一起共建!
james
版主
超级会员
*****
文章: 823


哼!!你不说,谁会知道你做过那些修改呢!? (丢滑鼠~~)


检视个人资料 个人网站
« 回覆文章 #26 于: 十二月 14, 2005, 10:09:12 下午 »


我今天检查了一下。autostart="false"只是禁止自动播放。实际上,一打开含有多媒体文件的网页,哪些文件(*.mp3、*.asf、*.wma等文件)就已经被下载到浏览者的temporary internet files目录下了。


Hi copper:

我自己做了一个实验,发现并没有下载temporary internet files到阿 ^_^
我用的是mp3档案,其它的串流格式档案应该也是如此。
不知道你是怎么确定上面红色字体的部份呢?
我的实验方法是,在浏览自己的blog之前,先将temporay internet files全部清掉,然后开启自己的部落格.
(当然在我的blog里面有插入媒体档,但是autostart设为false)
等全部网页开启完后,再到网页暂存资料夹里面,并没有我所插入的那个mp3档案.

可否说说你的试验方法呢?
James.
已记录

记得发问前,先使用搜寻功能找找看有没相关的解答。
如果找不到,请依照如何在LifeType论坛发问来提问喔。
copper
新手见习
*
文章: 17


检视个人资料
« 回覆文章 #27 于: 十二月 15, 2005, 06:58:49 下午 »

Hi,James:

试一下这个链接吧:
http://www.blogyard.net/index.php?op=ViewArticle&articleId=32


在下图中你可以看到,尽管没有播放,但是下载的进度清晰可见。
http://www.blogyard.net/index.php?op=ViewResource&resource=blogyard.JPG

我的浏览器IE和Maxthon都是如此,系统是winxp。

帮忙看看吧。

copper。
已记录

我们的LifeType应用实例:
http://www.blogyard.net/  博雅空间:博采众长,雅集文字!
FreeBSD+LifeType 1.0.2 beta。
文字空间不限,20M资源空间,上传限制单个文件5M。
欢迎一起共建!
lss
我不是被~拉~~出来的,不要叫我大大!
总版主
超级会员
*****
文章: 1511



检视个人资料 个人网站
« 回覆文章 #28 于: 十二月 15, 2005, 07:23:36 下午 »

hi 两位:

我觉得这应该跟媒体的格式有关。同样的声音媒体,有串流格式跟非串流格式,如果是非串流格式如 mp3,应该不会跟着网页一起下载,而是播放时才下载,而且要等到下载完才能开始播放;但是如果媒体为串流格式如 asf ,那就会跟着网页一起下载,目的是为了让浏览网页的网友播放媒体时不需要再等待。

所以,应该是跟格式有关吧!不晓得有没有记错?!

lss
已记录

没找过 常见问题集或不知道 如何在 LifeType 中文开发论坛发问的人,恕不回答问题
resnick
版主
一般会员
*****
文章: 232



检视个人资料 个人网站
« 回覆文章 #29 于: 十二月 15, 2005, 07:33:11 下午 »

hi 两位:

我觉得这应该跟媒体的格式有关。同样的声音媒体,有串流格式跟非串流格式,如果是非串流格式如 mp3,应该不会跟着网页一起下载,而是播放时才下载,而且要等到下载完才能开始播放;但是如果媒体为串流格式如 asf ,那就会跟着网页一起下载,目的是为了让浏览网页的网友播放媒体时不需要再等待。

所以,应该是跟格式有关吧!不晓得有没有记错?!

lss

如同lss兄所言,非串流格式的确要等待全部下载完才能开始播放,而串流格式就是在你看这一秒的时候已经先下载了后面几秒的东西,边看边下载,当然万一你下载的速度不够,还是会变成断断续续的播放,因此才必须在播放器上面设定缓冲区,缓冲区设越多等待约久,开始播放后断断续续发生的情况也会延迟发生,一切都视频宽而定。

resnick
已记录
页: 1 [2] 3 4
LifeType 中文开发论坛  |  开发  |  模版设计  |  模版设计精华区  |  [模版修改]让资料夹中的声音和影片档案可以直接线上拨放 « 上篇主题 下篇主题 »
    前往: