JMF的setMediaTime,setTimeBase, 各是什么意思?
然后如题
比如说:
一个文件,我想让JMF直接从第10分钟开始播放,而不是让他从头开始播放。
这个是否是可以用代码实现的?
请指教!

解决方案 »

  1.   

    应该是可以的,lz可以看一下clock接口的具体API。
      

  2.   

    这是一段API指导上的说明,自己翻了一下,不是很流畅,希望lz能有用:一个时钟对象(Clock)用时间基(TimeBase)在多媒体流显示过程中保持对时间流逝的同步。一个时间基(TimeBase)提供了一个时间源,就像手表中的石英体。时间基(TimeBase)提供的唯一信息就是它的当前时间,通常被称作标准时间(time-base time)。标准时间(time-base time)不能停止或者更新,它通常基于系统时间。一个时钟对象(Clock)的媒体时间(media time)代表了多媒体流的当前位置——一个多媒体流开始的位置的媒体时间(media time)为零,这个多媒体流的结束位置的媒体时间(media time)为其最大。多媒体流的长度(duration)是它从来开始到结束所占用的时间——播放这段多媒体流多需要的时间。(多媒体对象(Media object)如果可以报告一段多媒体流的长度(duration),则实现了Duration接口)。为了保持对当前媒体时间(media time)的追踪,时钟对象(Clock)使用:
    ● 基于标准时间的开始时间(start-time)——当开始显示时时间基(TimeBase)所报告的时间。
    ● 多媒体的开始时间(start-time)——当开始显示时多媒体流的位置。
    ● 播放速率(playback  rate)——时钟(Clock)相对于时间基(Timebase)运行的速度。这个速率是一个应用于时间基(Timebase)的比例因素。例如,一个1.0的速率代表了正常的多媒体流的速率,而一个2.0的速率则代表了两倍于正常速率。一个负的速率代表了时钟(Clock)相对于时间基(Timebase)以相反的方向运行——例如,一个负的速率可能代表了多媒体流的后退。当开始播放时,媒体时间(media time)对应于标准时间(time-base time),而标准时间(time-base time)的前进则代表了时间的度过。在播放过程中,媒体时间根据下面的公式来计算:
         媒体时间=媒体开始时间+速率*(标准时间—时间基的开始时间)
    当播放停止时,媒体时间也随之停止,但是给予时间的时间会继续前进。当重新开始播放时,媒体时间则根据当前的标准时间重新定位。
      

  3.   

    //player.setMediaTime(new Time(60000));
    //player.syncStart(new Time(260000))
    //player.start();
    上面这个代码的方法根本就不管用,看方法名还以为是那回事
    仍然是从头播放。
    楼上的兄弟是否可以帮我看看 ?究竟是哪里错了?