汇总:关于用LifeType做播客的方法
(看了James和Mark的帖子,总算把这个问题搞定了,多谢两位。)
问题的提出:1、是 LifeType 能不能直接把上傳的影音檔貼到文章上。
可以!
2. LfieType 可不可以直接貼成播放影音檔的格式,也就是做播客?
可以!,請參考:http://forum.lifetype.org.tw/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=52、 如果你想在自己的文字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+'&resource='+encodeURIComponent(resourceName)+'">test</a>';
}
改成
else if ( type== 2 || type == 3 ) {
htmlCode = '<embed id="res_'+resId+'" src="'+plogBaseUrl+'/resserver.php?blogId='+blogId+'&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+'&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解释,让他们都照这个做,也不是一件容易的事情。)