闪酷跑路网

一行行枯燥的代码,却描绘出人生的点点滴滴

推荐文章

Android多媒体开发札记【8】- AwesomePlayer基本框架及播放流程

    Android多媒体开发笔记【8】-- AwesomePlayer基本框架及播放流程 1.通过setDataSource 指定播放器的数据源。可以是URI或者fd.可以是http:// 、rtsp://、本地地址或者本地文件描述符fd。其最终调用是将上层传递来的参数转化为DataSource,为下一步的demux提供数据支持。 2.在真正Prepare功能函数onPrepareAsyncEvent()会调用finishSetDataSource_l。通过第一步产生的DataSource来生成extractor,因为封装的格式很多,所以需要通过DataSource的信息,去创建不同的extractor。 extractor = MediaExtractor::Create( dataSource, sniffedMIME.empty(

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1742

2018-12-17

Android多媒体开发【七】- AwesomePlayer中TimedEventQueue-event事件调度器

    Android多媒体开发【7】-- AwesomePlayer中TimedEventQueue-event事件调度器上文已经大概介绍了播放器的几大主要部分,但是有了这些功能组件也不能叫做播放器。需要某种方式将这些单独的功能组件驱动起来,形成一个整体的功能。 视频处理过程中有很多都是十分耗时的,如果都放在一个大的线程空间中。用户体验的效果可想而知。所以通常都是做异步操作。 AwesomePlayer是通过event事件调度来实现这些功能之间的驱动和调用的。 AwesomePlayer中的内部变量 TimedEventQueue mQueue; 这个mQueue就是AwesomePlayer的事件队列,也是事件调度器。从他类型的名字上就能很清楚的看出他是以时间为基础事件队列。接下来看看它是怎么玩转的。 1.先来看TimedEventQueue的内部结构,TimedEventQue

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(691

2018-12-14

Android多媒体开发【12】- android中OpenMax的兑现【3】OMX中主要成员

    Android多媒体开发【12】-- android中OpenMax的实现【3】OMX中主要成员通过上文知道了,每个AwesomePlayer 只有一个OMX服务的入口,但是AwesomePlayer不一定就只需要1种解码器。有可能音视频都有,或者有很多种。这个时候这些解码器都需要OMX的服务,也就是OMX那头需要建立不同的解码器的组件来对应着AwesomePlayer中不同的code。OMX中非常重要的2个成员就是 OMXMaster 和 OMXNodeInstance。OMX通过这俩个成员来创建和维护不同的openmax 解码器组件,为AwesomePlayer中不同解码提供服务。让我们看看他们是怎么实现这些工作的。 1. OMX中 OMXNodeInstance 负责创建并维护不同的实例,这些实例是根据上面需求创建的,以node作为唯一标识。

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1984

2018-12-16

Android多媒体开发-资源文件播发

    Android多媒体开发--资源文件播放      播放音频文件。按照音频文件来源不同可以分为:资源文件播放、系统播放文件和网络文件播放。     资源文件播放是放在“<工程>/res/raw”,然后发布的时候被打成APK包一起安装在手机上。很显然这种方式不适合用于播放娱乐为主的多媒体文件,由于娱乐的多媒体文件是经常更新的,而放置在这个raw下面的文件用户是没有权限更新的,因此这种方式一般用于应用自己的一些音频和视频播放,如按键音、开机启动音、信息提示音等应用使用的声音。    下面看看播放资源音频文件的代码请参考代码清单12-1,完整代码请参考Chapter12_1工程中AudioPlayer代码部分。【代码清单12-1】 public class Audio

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(2275

2018-12-16

Android多媒体开发【11】- android中OpenMax的兑现【2】AwesomePlayer中openmax的入口

    Android多媒体开发【11】-- android中OpenMax的实现【2】AwesomePlayer中openmax的入口AwesomePlayer 中有个变量  OMXClient mClient;让我们看看   OMXClient  class OMXClient { public: OMXClient(); status_t connect(); void disconnect(); sp<IOMX> interface() { return mOMX; } private: sp<IOMX> mOMX; OMXClient(const OMXClient &); OMXClient &operator=(

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(2234

2018-12-17

C/C++ 多媒体开发实战宝典,该如何处理

    C/C++ 多媒体开发实战宝典我最近正在写一本书,目录贴在后面。其中两章,IDCT 和大整数,已经贴到代码共享空间了。 欢迎大家阅读,提出修改意见,使这本工具书更便于阅读和使用。    C/C++ 多媒体开发实战宝典 纲要: 1)第一章,介绍C++语言的代码优化,分别介绍C语言,MMX/MMX2/SSE2等技术的应用。 a)       优化的基本原则和方法。 b)       表格的使用。 c)       SIMD指令的使用。 2)第二章,介绍几种常见的图形图像编码方式。 a)     

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(707

2018-12-17

directshow不要编码filter能不能直接捕获视频保存为文件

    directshow不用编码filter能不能直接捕获视频保存为文件?在写一个视频捕获程序~~使用的是directshow~~ 预览可以了,但是在捕获保存为文件时出问题了~~    HRESULT hr;    IBaseFilter *pMux;    hr = pBuild->SetOutputFileName(        &MEDIASUBTYPE_Avi, // Specifies AVI for the target file.      &

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1448

2018-12-17

C++流媒体高手过来看看!该怎么处理

    C++流媒体高手过来看看!美资500强企业高薪招聘C++流媒体高手!base:上海 Description: •        Responsible for analyzing requirements, architecture design and development of the company's large scale video surveillance system. Requirements:  •        B.S. /M.S.&n

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(2212

2018-12-14

C++流媒体高手过来看看!解决方案

    C++流媒体高手过来看看!美资500强企业高薪招聘C++流媒体高手!base:上海 Description: •        Responsible for analyzing requirements, architecture design and development of the company's large scale video surveillance system. Requirements:  •        B.S. /M.S.&n

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1336

2018-12-14

Android 多媒体开发学习之容易的音乐播放器

    Android 多媒体开发学习之简单的音乐播放器我们今天的目的是学习如何创建一个简单的音乐播放器,可支持播放,暂停,继续播放,以及进度显示,已经进度拖拽。 既然我们的目的已经很明确,那我们先分析一下: 1: 我们播放音乐的任务可以放在Activity中吗?      假设我们当前音乐播放,我们切到别的应用,这时候播放音乐的Activity所在的进程就属于后台进程,因为后台进程会由于系统资源不足时,会杀死当前进程,会导致音乐不播放了。所以采用Activity是不行的。 2:播放音乐的任务放在一个服务中,那服务有2中启动方式,应该使用那种服务?      a:如果采用StartServer启动服务,那服务里的播放音乐的方法是没法拿到的。      b:如果采用B

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1185

2018-12-16

Android 多媒体开发学习之制造一个简单的画板

    Android 多媒体开发学习之制作一个简单的画板一个简单的画板,可以绘制,可以选择颜色,可以保存。 当然了这种工具一般常用的通讯软件都是会有的,比如QQ, 飞秋等 其中我们必须监听手指的触摸事件,手指的触摸事件就分为3种: 按下,抬起,移动。 通常我们只需要关系按下的时候,然后就是整个手指滑动的过程。然后将手指滑动的过程绘制为不同的直线。当然也可以设置绘制的颜色,绘制直线的宽度等。 public class MainActivity extends Activity { private int TouchX; private int TouchY; private Paint paint; private Canvas canvas; Bitmap bitmapCopy; ImageView lView; @Override protected void

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1925

2018-12-15

Android多媒体开发 音乐播发以及使用SoundPool播放音效

    Android多媒体开发 音乐播放以及使用SoundPool播放音效 音乐播放 MediaPlayer mediaPlayer = new MediaPlayer(); if (mediaPlayer.isPlaying()) {    mediaPlayer.reset();//重置为初始状态 } mediaPlayer.setDataSource("/mnt/sdcard/god.mp3"); mediaPlayer.prepare(); mediaPlayer.start();//开始或恢复播放 mediaPlayer.pause();//暂停播放 mediaPlayer.start();//恢复播放 mediaPlayer.stop();//停止播放 mediaPlayer.release();//释放资源 mediaPlayer.se

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(574

2018-12-15

使用Directshow编写的拍照软件,在保存为bmp文件时,保存下来的文件是损坏的。各位大大能帮小弟我看看小弟我代码哪里有有关问题吗

    使用Directshow编写的拍照软件,在保存为bmp文件时,保存下来的文件是损坏的。各位大大能帮我看看我代码哪里有问题吗 IGraphBuilder* m_pGB;                   //滤波器链表管理器 ICaptureGraphBuilder2* m_pCapture;    //增强型捕获滤波器链表管理器 IBaseFilter* m_pBF;           //捕获滤波器 IMediaC

    阅读全文>>

作者:coody分类:【_多媒体设计浏览(1992

2018-12-16
上一页 1/2页 下一页