学习
实践
活动
专区
工具
TVP
写文章

Android扫描多媒体文件剖析

Android扫描多媒体文件剖析 这篇文章从系统源代码分析,讲述如何将程序创建的多媒体文件加入系统的媒体库,如何从媒体库删除,以及大多数程序开发者经常遇到的无法添加到媒体库的问题等。 Android中的多媒体文件扫描机制 Android提供了一个很棒的程序来处理将多媒体文件加入的媒体库中。这个程序就是MediaProvider,现在我们简单看以下这个程序。 } } } return scanner; } 从上面可以发现,真正工作的其实是android.media.MediaScanner.java 所以扫描操作没有开始,导致文件没有加入到媒体库。所以,请检查文件的路径。 如何从多媒体库中移除 如果我们删除一个多媒体文件的话,也就意味我们还需要将这个文件从媒体库中删除掉。 能不能简简单单发广播? ,如果文件不存在,直接停止向下执行。

1K80
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android扫描多媒体文件剖析

    这篇文章从系统源代码分析,讲述如何将程序创建的多媒体文件加入系统的媒体库,如何从媒体库删除,以及大多数程序开发者经常遇到的无法添加到媒体库的问题等。本人将通过对源代码的分析,一一解释这些问题。 Android中的多媒体文件扫描机制 Android提供了一个很棒的程序来处理将多媒体文件加入的媒体库中。这个程序就是MediaProvider,现在我们简单看以下这个程序。 } } } return scanner; } 从上面可以发现,真正工作的其实是android.media.MediaScanner.java 所以扫描操作没有开始,导致文件没有加入到媒体库。所以,请检查文件的路径。 如何从多媒体库中移除 如果我们删除一个多媒体文件的话,也就意味我们还需要将这个文件从媒体库中删除掉。 能不能简简单单发广播? ,如果文件不存在,直接停止向下执行。

    54710

    FFmpeg 工程之路-多媒体文件处理

    -avpriviodelete() FFmpeg 重命名文件-avpriviomove() FFmpeg处理流数据 多媒体文件的基本概念 几个重要的结构体 FFmpeg 打印音/视频信息(Meta) 获取视频文件 4.FFmpeg处理流数据 4.1 多媒体文件的基本概念 多媒体文件是个容器、音视、字母数据、 在容器里有很多流(stream/track) 比如 音频流、视频流、多路音频流、 每种流是由不同的编码器编码的 读取的数据称为包 Packet 多帧压缩成的包、 一个包中包含着一个或多个帧 Frame 没有被压缩的数据、 4.2 几个重要的结构体 AVFormatContext 格式上下文,连接多个Api的桥梁、读多媒体流的时候需要将 fmt_ctx = NULL; av_log_set_level(AV_LOG_INFO); //2.注册音视频全局解码器 av_register_all(); //3.打开多媒体文件 dst) { av_log(NULL,AV_LOG_ERROR,"src or dst is null\n"); } //4.打开多媒体文件,注意第一个参数为指针变量的地址

    31230

    多媒体文件格式剖析:FLV篇

    之前介绍过多媒体文件格式剖析:MP4篇 MP4的多媒体格式,在这篇为文章中剖析了为什么MP4不是流式媒体格式,是因为MP4的BOX结构决定的,本文介绍一种常用的流式媒体格式,就是FLV,FLV全称为Flash FLV查看的工具是FlvAnalyzer,回复FLV得到多媒体查看分析的一整套工具。下面使用FlvAnalyzer来分析FLV文件。 ? 除了FlvAnalyzer,还有一个工具推荐一下,是雷神开发的一个工具,是SpecialFFlv工具,真的相当赞的工具,回复FLV得到多媒体查看分析的一整套工具。 FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag组成。FLV文件的结构如下图: ? FLV相关实践 将一个MP4文件转化为FLV文件: ffmpeg -i test.mp4 -c:v libx264 -crf 24 test.flv 如何将FLV格式中设置关键帧索引?

    85110

    Funny的多媒体文件隐写题

    0x02 文件分析 首先题目没有任何提示,只有一个下载附件的超链接,下载完附件后发现是一个MKV格式的视频文件文件的名字叫“funny_video”。 ? 图2.1 题目提供的视频文件 看到是MKV格式的文件,我首先想到的就是flag会不会隐藏在视频的某一帧中(虽然希望很渺茫),所以马上打开视频先快速看一遍。 直接把视频文件拖进MKVToolNix中,然后分别将两个音频文件分离出来,准备接下来的音频分析。 ? 图4.2 藏在频谱图中的flag 0x05 总结 由于之前接触的多媒体文件隐写题较少,而且只见过音频文件的隐写,所以第一次遇到视频文件的隐写题有点力不从心。 另一方面也是自己的思维不够开阔,没有及时联想到视频文件中的音频文件也可以分离出来做分析,一看到视频格式的文件就只想到与视频或图像相关的角度去分析。

    94870

    Confluence 6 多媒体文件和在页面中显示文件列表

    多媒体文件 文件的预览同时也支持 MP3 音频和 MP4 视频文件。Confluence 使用 HTML 5 来播放附加的音频和视频文件。 这个意味着这些文件类型的文件格式,用户可以在支持的浏览器中直接进行播放。 你同时也可以显示其他很多类型的多媒体文件(视频,音频和动画),你需要使用  多媒体(Multimedia)宏. 在页面中显示文件列表 为了在页面中显示文件列表,我们有多种办法来进行显示,你可以: 使用 附件(Attachments) Macro来显示当前页面中的附件。 使用 空间附件(Space Attachments) Macro 来显示空间中的所有附件文件。 使用 图片相册(Gallery)Macro 来显示附加到页面中的图片文件的缩略图。 你还可以针对上传,查看,管理文件列表使用 文件列表蓝图(File List blueprint)。

    43840

    Confluence 6 多媒体文件和在页面中显示文件列表

    多媒体文件 文件的预览同时也支持 MP3 音频和 MP4 视频文件。Confluence 使用 HTML 5 来播放附加的音频和视频文件。 这个意味着这些文件类型的文件格式,用户可以在支持的浏览器中直接进行播放。 你同时也可以显示其他很多类型的多媒体文件(视频,音频和动画),你需要使用  多媒体(Multimedia)宏. 在页面中显示文件列表 为了在页面中显示文件列表,我们有多种办法来进行显示,你可以: 使用 附件(Attachments) Macro来显示当前页面中的附件。 使用 空间附件(Space Attachments) Macro 来显示空间中的所有附件文件。 使用 图片相册(Gallery)Macro 来显示附加到页面中的图片文件的缩略图。 你还可以针对上传,查看,管理文件列表使用 文件列表蓝图(File List blueprint)。

    31250

    多媒体-iOS与Android的音频文件互通

    ,遇到过一个安卓开发人员 文件的输出格式是 3pg 3GP格式是一些少数采用手机芯片的3GP所支持的视频格式。 3GP是一种类似MP4文件格式,广泛应用于手机视频的一种文件格式,3GP是MP4格式的一种简化版本,减少了储存空间和较低的频宽需求。 而文件的格式后缀是 .mp3,结果iOS这边一直无法播放,而且打开把该文件在服务器上的路径粘到浏览器中也是无法识别和播放的。 .amr 格式的苹果这边也是无法播放的。 mpeg_4 输出格式的文件苹果这边也是无法播放的。 wav格式进行保存,所有只要 iOS端 Wav文件 转 amr 格式给安卓使用,把安卓的amr 文件转化为 wav格式 给自己使用即可解决iOS与Android的音频文件互通问题。

    1.3K20

    多媒体文件格式剖析:MP4篇

    ,主要的识别方向在Track信息上,这个文件中发现了两个Track信息,一个音频Track,一个视频Track; mp4info其实是mp4parser项目的变种,mp4parser实现了mp4 文件处理的所有操作 ; 合并文件:test.h264和test.aac合成test.mp4,我们使用camera采集信息的时候,这样库很有帮助,帮我们合成一个mp4文件; 合并两个 mp4文件,但是要求两个文件的编码格式一样 该Box应该被放在文件的最开始,指示该MP4文件应用的相关信息。 mdat(Media Data Box) 该box包含于文件层,可以有多个,也可以没有(当媒体数据全部为外部文件引用时),用来存储媒体数据。 信息,是无法继续解析mdat信息的; 这也间接说明了MP4文件并不是流式文件,它的诞生有很强的时代背景,在如今流式文件满天飞的时代,MP4是不能作为直播的封装格式存在的。

    1.2K10

    多媒体文件格式剖析:M3U8篇

    M3U8文件是M3U文件的一种,只不过它的编码格式是UTF-8。M3U使用Latin-1字符集编码。 我们播放一个HLS,首先要对HLS流对应的M3U8文件进行解析,解析M3U8文件,首先要搞清楚M3U8的封装格式。 1.M3U8类型 当 M3U8 文件作为媒体播放列表(Media Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。 ; EVENT 表示该视频流为直播源,因此服务器不能更改或删除该文件任意部分内容(但是可以在文件末尾添加新内容)(注:VOD 文件通常带有 EXT-X-ENDLIST 标签,因为其为点播片源,不会改变; 视频码率就是指视频文件在单位时间内使用的数据量。简单理解就是要播放一秒的视频需要多少数据,从这个角度就不难理解通常码率越高视频质量也越好,相应的文件体积也会越大。码率、视频质量、文件体积是正相关的。

    3K31

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 游戏多媒体引擎

      游戏多媒体引擎

      游戏多媒体引擎(GME)提供一站式语音解决方案。针对不同场景进行深度优化,覆盖游戏、社交、娱乐等多种泛互联网行业应用场景。提供实时语音、语音消息及转文本、语音分析服务,一次接入即可满足多样化的语音需求。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券