主题:  请教"percentStreamed"相关问题

zain

职务:普通成员
等级:1
金币:0.0
发贴:88
#12001/5/24 14:51:15
Director8.5-------
on exitFrame
pTempURL = "http://***/**/*.mov"
importFileInto new(#bitmap), pTempURL

set the name of member (4,2) to "file01"
set the member of sprite 1 to member ("file01",2)

put member("file01",2).percentStreamed into field("show")
end

目的:
# 从网上下载一个影片或其他类型的文件,作为一个cast member放在external cast里
# 在名为“show”的field中显示进度

问题:
# 根据HELP,percentStreamed是Shockwave Audio (SWA) cast member property,为什么*.mov也可以用?(内部运行和做成*.exe后都可以正常显示)
# 应该是new(#movie),但new(#bitmap)什么的也可以,他好像是根据下载文件的类型创建的,与type无关。why?
# 做成*.exe后,正常。但做成*.dcr后显示“Script error”,注掉"percentStreamed"再publish,无错误提示,但无法下载,WHY?
# 如何new一个shockwave3d cast member,type list里好像没有此类型

谢谢



Call Me Simon

职务:普通成员
等级:2
金币:2.0
发贴:646
#22001/5/25 5:43:00
我来抛几块砖吧。

1. percentStreamed是和shockwave相关的, 联系到你的第三个问题, 就知道它在shockwave的情形下只对SWA有效。至于在authoring time 和projector run time下对Quicktime也有效, 我个人理解, 第一, 这可能是undocumented feature. 第二, QuickTime本身也是支持流式播放的, 如果不借助shockwave player, Director 可以直接从营盘或CD stream 一些文件格式. 最后, 你可以试一下, 打包exe的时候, 选择shockwave player, 然后再用exe播放, 我估计你会发现和问题3一样的情形。

2. 我觉得那种写法不规范, 不过你的发现倒是很有意思, 你不妨再做几个试验, 用不同的文件格式, 看看是不是和type无关。

3. 前面说了, dcr情形下需要先用preloadNetThing, 待下载完成再importFileInto, 这点和authoring time不同。

4. 我不知道, 没有用D8.5.

供参考。



zain

职务:普通成员
等级:1
金币:0.0
发贴:88
#32001/5/25 11:02:49
首先感谢你的回复

>> preLoadNetThing我找到了,可以用的。再加上个netDone()。

>> 现在*.dcr可以下载了,但不知道进度怎样显示。昨天大概看了一下,好像bytesStreamed什么的,但具体的还没试过。不知各位有什么指教。

>> 关于new()。不规范也没办法,我是被逼的(找不到怎么new一个shockwave3D,就乱来了)。type为#Empty 时就不可以。new一个shockwave3D的member,用new(#bitmap)什么的就可以,importFileInto只认具体文件的属性。