`
ai_longyu
  • 浏览: 505588 次
社区版块
存档分类
最新评论

StagefrightPlayer取的当前播放位置和总时长

 
阅读更多
1. StagefrightPlayer计算取得的播放时长和总时长的单位是微秒(us),需要四舍五入为整数秒,用于播放器显示时长和播放进度。

在计算时,是按照四舍五入的方式来计算的,即小于500ms的舍去,不计入时长;大于等于500ms的按照1s计入时长。这一点需要特别注意,因为在播放较短的文件时,在更新进度条时滑动块可能移动的不平滑。

计算方法如下:


2. AwesomePlayer取得时长

如果是视频文件,则video track和audio track中都可以取得各自的时长,但由于是先初始化的video track,所以会先取得video的时长赋给mDurationUs。

再初始化audio track时,又把取得的audio的时长赋给mDurationUs。所以,最后取得的文件时长就是audio track的时长,即播放器界面上显示的文件时长其实是audio track的时长。

所以,无论是播放视频还是音频文件,时长显示的都是audio track的时长。



分享到:
评论
1 楼 xiaoyaoniu 2012-06-20  
      

相关推荐

    Android多媒体框架服务之StagefrightPlayer和OMXCodec实现原理.pdf

    MediaPlayerService内部通过StagefrightPlayer和OMXCodec等组件来完成具体的播放和编解码工作。 3. **内存管理和资源共享**:为了提高效率,Android多媒体框架采用了高效的内存管理机制,包括利用共享内存区域来减少...

    android多媒体stagefright框架详细分析

    Stagefright框架提供了多媒体播放和录制功能,其中StagefrightPlayer是用于播放多媒体内容的组件,而StagefrightRecorder是用于录制多媒体内容的组件。AwesomePlayer是Android系统中用于音频播放的一个组件,它提供...

    localPlayer

    Android 多媒体 Framework 的架构可以分为四个部分:视频播放、视频流媒体、音频播放和音频流媒体。 四、localPlayer 在 Android 多媒体 Framework 中的角色 localPlayer 是 Android 多媒体 Framework 中的一个...

    TS和M3U8的解析

    1. **获取M3U8文件**:首先,客户端需要从服务器请求并下载M3U8文件,这个文件包含了视频流的元数据,如视频片段的位置、持续时间和播放顺序等信息。 2. **解析M3U8文件**:客户端解析M3U8文件,提取其中的TS文件...

    android-stagefright处理httplivestreaming缓冲机制

    Stagefright会根据网络条件动态选择合适的流进行下载和播放,确保流畅性。如果缓冲未命中,即本地缓存未包含所需数据,系统会尝试从网络获取新的数据块并添加到缓冲区。 五、HTTP Live Streaming处理 当mUri以...

    Android media framework

    Android 媒体框架是 Android 系统中...文档内容十分详尽,不仅阐述了如何简单地利用框架提供的类和方法来播放媒体文件,也深入探讨了媒体播放的底层实现细节,为开发者提供了使用框架以及进行底层定制时所需的知识。

    展讯平台android多媒体处理流程

    - **AudioFlinger**: 负责音频混音和输出至音频硬件。 - **libaudiofling.so**: AudioFlinger的核心实现。 #### 三、多媒体播放流程 多媒体播放过程主要包括创建MediaPlayer实例、设置数据源、准备播放、启动播放...

    Android多媒体核心及其插件

    - **播放器与录制器实现**:位于`frameworks/base/media/libmediaplayerservice/`目录,包括`StagefrightRecorder.h`和`StagefrightPlayer.h`等文件。 ##### 3.3 插件支持 OpenCore和Stagefright主要支持两种类型...

Global site tag (gtag.js) - Google Analytics