             instanceName = '_mu.engines.' + instanceName
 
             @flash = $.flash.create
-                swf: baseDir + opts.swf + '?t=' + opts.swfCacheTime
+                swf: baseDir + opts.swf + '?t=' + Math.floor(+new Date() / opts.swfCacheTime)
                 id: id
                 height: 1
                 width: 1

            @flash.f_load(url)

        setUrl: (url) ->
            if url
                @_setUrl(url)
                # 检测后缀与实际资源不符的情况。
                # 错误统一抛EVENTS.ERROR事件, 由调用方决定如何处理。
                do =>
                    checker = null
                    check = (e) =>
                        if e.newState is STATES.PLAYING and e.oldState is STATES.PREBUFFER
                            checker = setTimeout(=>
                                @off(EVENTS.STATECHANGE, check)
                                if @getCurrentPosition() < 100
                                    @setState(STATES.END)
                                    @trigger(EVENTS.ERROR, ERRCODE.MEDIA_ERR_SRC_NOT_SUPPORTED)
                            , 2000)
                        else
                            clearTimeout(checker)


    class FlashCore extends EngineCore
        @defaults:
            # swf文件的缓存时间，单位毫秒，默认半小时。
            swfCacheTime: .5 * 3600 * 1000
            expressInstaller: 'expressInstall.swf'

        constructor: (options) ->
